4. Умовні оператори

Конструкція if

Синтаксис конструкції if аналогічний конструкції if в мові Сі:

1
2
3
<? Php
if (логічний вираз) оператор;
?>

Згідно виразами PHP, конструкція if містить логічний вираз. Якщо логічний вираз істинно (true), то оператор, наступний за конструкцією if буде виконаний, а якщо логічне вираз помилково (false), то наступний за if оператор виконаний не буде. Наведемо приклади:

1
2
3
<? Php
if ($ a> $ b) echo "значення a більше, ніж b";
?>

У наступному прикладі якщо змінна $ a не дорівнює нулю, буде виведено рядок "значення a істинно (true)":

1
2
3
<? Php
if ($ a) echo "значення a істинно (true)";
?>

У наступному прикладі якщо змінна $ a дорівнює нулю, буде виведено рядок "значення a ложно (false)":

1
2
3
<? Php
if (! $ a) echo "значення a хибне (false)";
?>

Часто вам буде необхідний блок операторів, який буде виконуватися при певному умовному критерії, тоді ці оператори необхідно помістити у фігурні дужки {...} Приклад:

1
2
3
4
5
6
<? Php
if ($ a> $ b) {
     echo "a більше b";
     $ b = $ a;
}
?>

Наведений приклад виведе повідомлення, "a більше b", якщо $ a> $ b, а потім змінна $a буде прирівняна до змінної $b. Зауважимо, що дані оператори виконуються в тілі конструкції if.

Конструкція else

1
2
3
4
if (логічний_вираз)
інструкція_1;
else
інструкція_2;

Дія конструкції if-else наступне: якщо логічний_вираз істинно, то виконується
інструкція_1, а інакше - інструкція_2. Як і в будь-якому іншому мовою, конструкція else може опускатися, в цьому випадку при отриманні належного значення просто нічого не робиться.

Якщо інструкція_1 або інструкція_2 повинні складатися з декількох команд, то
вони, як завжди, полягають у фігурні дужки. Наприклад:

1
2
3
4
5
6
7
<? Php
if ($ a> $ b) {
     echo "a більше, ніж b";
} Else {
     echo "a НЕ більше, ніж b";
}
?>

Конструкція elseif

elseif - це комбінація конструкцій if і else. Ця конструкція розширює умовну конструкцію if-else.

1
2
3
4
5
6
7
8
9
<? Php
if ($ a> $ b) {
     echo "a більше, ніж b";
} Elseif ($ a == $ b) {
     echo "a дорівнює b";
} Else {
     echo "a менше, ніж b";
}
?>

Взагалі, конструкція elseif не надто зручна, тому застосовується не так часто.