Какво са управляващите структури? Това са условните оператори, циклите и блоковете. Управляващите структури са основата на езиците за програмиране. Те позволяват да се зададат параметри и след това, в зависимост от техните значения, да се изпълни едно или друго действие. Благодарение на това уеб сайтовете стават по-динамични. Например, до обяд поздравът към потребителите може да е “Добро утро!”, а след обяд- “Добър ден!”.
В РНР има два основни условни оператора: if и switch. Двете основни категории оператори са операторите за сравнение и логическите оператори. Те обикновено се използват в условните оператори. Циклите позволяват повтарянето на едни и същи действия няколко пъти. Те икономисват време, особено при работа с масиви. В РНР се поддържат два типа цикли: while (и неговия еквивалент do...while) и for.
Условен оператор if
инструкцията, която ще се изпълни, ако условието е истина (true);
}
- Отворете текстовия редактор и създайте файл с име if_construct_1.php.
- Въведете следния скрипт:
<!Doctype html> <html> <head> <title>Конструкцията if</title> <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8"> </head> <body> <?php $my_name = "Edelw"; //Задава стойност на променливата if ($my_name == "Edelw") { //Проверка та условието //Инструкция, която се изпълнява, ако условието е TRUE echo "Вашето име е Edelw!<br />"; } echo "Добре дошли в началната страница!"; ?> </body> </html> - Съхранете файла и тествайте в браузъра.

Какво прави скрипта?
- Задаваме стойност на променливата $my_name = "Edelw".
- С помощта на условният оператор if и оператора ==, проверяваме дали стойността на променливата $my_name съвпада с "Edelw".
- Стойността на променливата $my_name действително е "Edelw", така че условието е вярно и се изпълнява инструкцията да се изведе съобщението “Вашето име е Edelw!” .
Какво ще се случи, ако условието не е изпълнено?
Променете името на променливата $my_name= “noEdelw”. Съхранете файла и тествайте в браузъра. Резултатът ще е:

За да определим дали дадена променлива съществува, можем да използваме функцията isset ().
Конструкцията if … else
Понякога се налага да изпълните една инструкция, ако условието е изпълнено, и друга, ако не е. В тези случаи на помощ идва конструкцията else, която се явява един вид разширение на условния оператор if. Синтаксисът е следния:
инструкция, която се изпълнява, ако условието е TRUE;
} else {
инструкция, която се изпълнява, ако условието е FALSE;
}
Можем да преработим файла if_condition.php така:
- Отворете текстовия редактор.
- Създайте файл с име if_else.php.
- Въведете следния скрипт:
<!Doctype html> <html> <head> <title>Конструкцията if-else</title> <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8"> </head> <body> <?php $my_name = "Edelw"; if ($my_name == "Edelw") { echo "Вашето име е Edelw!<br />"; echo "Добре дошли в началната страница!"; } else { echo "Добре дошли в началната страница!"; } ?> </body> </html> - Тествайте в браузъра, когато на променливата $my_name е зададена стойност"Edelw" и когато зададената стойност е различна от "Edelw”.
Конструкцията if-elseif
elseif също е един вид разширение към конструкцията if. Работи точно както if, като добавя проверка на още едно условие и по този начин може блокът с инструкции да се разшири.
инструкция, която се изпълнява, ако условие 1 е TRUE;
} elseif (условие 2) {
инструкция, която се изпълнява, ако условие 2 е TRUE;
} else {
инструкция, която се изпълнява, ако условия 1 и 2 са FALSE;
- Създайте нов документ.
- Дайте му наименование if_elseif.php.
- Въведете слeдния скрипт:
<!Doctype html> <html> <head> <title>Конструкцията if-elseif</title> <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8"> </head> <body> <?php ?> </body> </html>
Ще създадем скрипт, който ще извежда в екрана на браузъра различни приветствени съобщения, в зависимост от това в коя част от денонощието се отваря скрипта. Към кода по-горе добавяме последователно:
//Задава стойност на променливата $firstname
$firstname = "Edelw";
//Извежда съобщение за часа, минутите и секундите
//и дава информация дали е преди обяд (AM)
//или след обяд (PM)
echo "Часът е" . " " . date ("H:m:s") .
" " . date("A") . "<br/><br/>";
//Проверява дали е въведено името
if ($firstname == ""){
echo "Влезте в акаунта си, моля!"."\n";
}
else{
Функцията date() извежда произволна конкретна информация за датата (ден от седмицата, месец и т.н.), изхождайки от получения параметър. В случая date("А") връща "AM", ако е преди обед и “РМ”, ако е след обяд.
if( date("H:m:s") < 12) {
//Ако е сутрин, поздрава ще е “Добро утро"
echo (" Добро утро,". " ".$firstname . "!" );
}
}
Тук date(“H”) връща времевия промеждутък във формат АМ/РМ , поради което между обяд и 18:00, приветствието ще е “Добър ден!”.
elseif ((date("H:m:s") >= 12 ) and (date ("H") < 18 )) {
//Ако е между 12:00 и 18:00, поздравът ще е "Добър ден"
echo ("Добър ден,". " ". $firstname . "!") ;
}
else {
//След 18 часа, поздрава ще е "Добър вечер"
echo ("Добър вечер,". " ". $firstname . "!") ;
}
Съдържанието на целия файл if_elseif.php:
<!Doctype html>
<html>
<head>
<title>Конструкцията if- elseif</title>
<meta http-equiv="Content-Type" content="text/html";
charset="UTF-8">
</head>
<body>
<?php
//Задава стойност на променливата $firstname
$firstname = "Edelw";
//Извежда съобщение за часа, минутите и секундите
//и дава информация дали е преди обяд (AM)
//или след обяд (PM)
echo "Часът е" . " " . date ("H:m:s") . " "
. date("A") . "<br/><br/>";
//Проверява дали е въведено името
if ($firstname == ""){
echo "Влезте в акаунта си, моля!"."\n";
}
else{
if( date("H:m:s") < 12) {
//Ако е сутрин, поздрава ще е “Добро утро"
echo (" Добро утро,". " ".$firstname . "!" );
}
elseif ((date("H:m:s") >= 12 ) and (date ("H") < 18 )) {
//Ако е между 12:00 и 18:00, поздравът ще е "Добър ден"
echo ("Добър ден,". " ". $firstname . "!") ;
}
else {
//След 18 часа, поздрава ще е "Добър вечер"
echo ("Добър вечер,". " ". $firstname . "!") ;
}
}
?>
</body>
</html>
Съхранете файла и тествайте веднъж, ако е зададена стойност на променливата $firstname и втори път, ако не е.
Функцията date() е много полезна, но тя взема времето от сървъра, а не от мястото, където се намира потребителя, имайте го пред вид.


Условна конструкция switch
Ако ви се струва, че изразите ви if - elseif – else стават все по-сложни, е време да се запознаем с оператора switch. Той ще ни помогне да спестим време и да опростим програмирането. конструкцията switch проверява за съвпадение на стойността на променливата с някой от няколко предложени израза. При съвпадение се изпълнява следващия оператор.
Синтаксисът й е следния:
switch ($variable) {
case "value 1":
statement 1;
break;
case "value 2":
statement 2;
break;
default:
statement 3;
break;
}
Важно е да разберете как работи конструкцията switch. Започва последователно сравнение на стойностите на променливата с дадените варианти и когато се намери пълно съответствие, се изпълнява следващата след двуеточието инструкция, т.е. когато се срещне case (случай) със стойност, която съвпада със стойността на променливата $variable, РНР започва да изпълнява съответните инструкции. Инструкциите се изпълняват, докато не се достигне края на блока или докато не се срещне инструкция break в края на списъка с инструкции case. Специален е случаят default, който в същност е всичко, което го няма в другите случаи. Много е важно всеки случай да завършва с инструкцията break.
Да си представим, че искаме да отидем на екскурзия. Имаме избор (отделни случаи) на няколко дестинации: Египет, Азия, Африка, Северна Америка, Южна Америка, Австралия. Ние ще си изберем дестинацията, например Австралия. Тогава нашата променлива $variable ще е Австралия, а конструкцията switch ще има вида:
$variable = “Австралия”;
switch ($variable) {
case "Египет":
echo “Приятно изкарване в Египет!”;
break;
case "Азия":
echo “Приятно изкарване в Азия!”;
break;
case "Африка":
echo “Приятно изкарване в Африка!”;
break;
case "Северна Америка":
echo “Приятно изкарване в Северна Америка!”;
break;
case "Южна Америка":
echo “Приятно изкарване в Южна Америка!”;
break;
case "Австралия":
echo “Приятно изкарване в Австралия!”;
break;
default:
echo “Е, ще отидете може би следващата година!”;
break;
}
- Създайте нов документ в текстовия редактор.
- Дайте му наименование switch.php.
- Въведете следния скрипт:
<!Doctype html> <html> <head> <title>Конструкцията switch</title> <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8"> </head> <body> <?php $variable = "Австралия"; switch ($variable) { case "Египет": echo "Приятно изкарване в Египет". "!"; break; case "Азия": echo "Приятно изкарване в Азия" ."!"; break; case "Африка": echo "Приятно изкарване в Африка" . "!"; break; case "Северна Америка": echo "Приятно изкарване в Северна Америка" . "!"; break; case "Южна Америка": echo "Приятно изкарване в Южна Америка" . "!"; break; case "Австралия": echo "Приятно изкарване в Австралия" . "!"; break; default: echo "Е, ще отидете може би следващата година" . "!"; break; } ?> </body> </html> - Съхранете файла.
- Тествайте в браузъра.
В браузъра ще видите:

|
|
Няма коментари:
Публикуване на коментар