Логическими значениями бывают “true” – истина и “false” – ложь. Например, если ссылка нажата, то переменная “$najata” равна “true”, а если не нажата, то – “false”.
Существует конструкция “if(znachenie) komanda1; else komanda2;”. Если “znachenie” равно “true”, то выполняется команда “komanda1”, иначе выполняется команда “komanda2”.
Пример 1
1 2 3 4 5 6 7 8 9 |
<?php $a = true; if($a) echo 'Истина'; else echo 'Ложь'; echo '; '; $b = false; if($b) echo 'Истина'; else echo 'Ложь'; ?> |
Данный код выводит “Истина; Ложь”.
Оператор сравнения равно “==” если значения равны, возвращает “true”, иначе возвращает “false”. Оператор сравнения не равно “!=” если значения не равны, возвращает “true”, иначе возвращает “false”.
Пример 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php $chislo1 = 10; $chislo2 = 5; echo $chislo1, ' и ', $chislo2, ' '; if($chislo1 == $chislo2) echo 'равны'; else echo 'не равны'; echo ';<br>'; echo $chislo1, ' и ', $chislo2, ' '; if($chislo1 != $chislo2) echo 'не равны'; else echo 'равны'; echo ';<br>'; $stroka1 = 'текст'; $stroka2 = 'текст'; echo '"', $stroka1, '" и "', $stroka2, '" '; if($stroka1 == $stroka2) echo 'равны'; else echo 'не равны'; echo ';<br>'; echo '"', $stroka1, '" и "', $stroka2, '" '; if($stroka1 != $stroka2) echo 'не равны'; else echo 'равны'; echo ';<br>'; $chislo = 7; $stroka = '7'; echo $chislo, ' и "', $stroka, '" '; if($chislo == $stroka) echo 'равны'; else echo 'не равны'; echo ';<br>'; echo $chislo, ' и "', $stroka, '" '; if($chislo != $stroka) echo 'не равны'; else echo 'равны'; echo ';'; ?> |
Данный код выводит:
10 и 5 не равны;
10 и 5 не равны;
“текст” и “текст” равны;
“текст” и “текст” равны;
7 и “7” равны;
7 и “7” равны;
Оператор строгого равенства “===” если значения и их типы равны, возвращает “true”, иначе возвращает “false”. Оператор строгого неравенства “!==” если значения или их типы не равны, возвращает “true”, иначе возвращает “false”.
Пример 3
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $chislo = 7; $stroka = '7'; echo $chislo, ' и "', $stroka, '" строго '; if($chislo === $stroka) echo 'равны'; else echo 'не равны'; echo ';<br>'; echo $chislo, ' и "', $stroka, '" строго '; if($chislo !== $stroka) echo 'не равны'; else echo 'равны'; echo ';'; ?> |
Данный код выводит:
7 и “7” строго не равны;
7 и “7” строго не равны;
Оператор меньше “<” возвращает “true”, если значение слева от него меньше значения справа, иначе возвращает “false”. Оператор больше “>” возвращает “true”, если значение слева от него больше значения справа, иначе возвращает “false”.Оператор меньше или равно “<=” возвращает “true”, если значение слева от него меньше или равно значению справа, иначе возвращает “false”. Оператор больше или равно “>=” возвращает “true”, если значение слева от него больше или равно значению справа, иначе возвращает “false”. При сравнении строк сравниваются коды их символов, например, буквы сравниваются по алфавиту.
Пример 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $chislo1 = 3; $chislo2 = 5; if($chislo1 > $chislo2) echo $chislo1, ' больше ', $chislo2; else echo $chislo1, ' меньше или равно ', $chislo2; echo ';<br>'; $stroka1 = 'яблоко'; $stroka2 = 'апельсин'; if($stroka1 > $stroka2) echo '"', $stroka1, '" больше "', $stroka2, '"'; else echo '"', $stroka1, '" меньше или равно "', $stroka2, '"'; echo ';'; ?> |
Данный код выводит:
3 меньше или равно 5;
“яблоко” больше “апельсин”;
“Оператор отрицания “!” если значение справа равно “false”, возвращает “true”, а если равно “true”, возвращает “false”. Оператор логического И “&&” или “and” если значения слева и справа равны “true”, возвращает “true”, иначе – “false”. Оператор логического ИЛИ “||” или “or” если значение слева или справа равно “true”, возвращает “true”, иначе – “false”. Оператор логического исключающего ИЛИ “xor” если только одно значение слева или справа равно “true”, возвращает “true”, иначе “false”.
Операторы выполняются в следующем порядке, начиная с самого первого: “!”, “<“, “<=”, “>”, “>=”, “==”, “!=”, “===”, “!==”, “&&”, “||”, “and”, “xor”, “or”.
Пример 5
1 2 3 4 |
<?php if((!(5 > 8) && (4 >= 1)) || (6 > 3)) echo 'Истина'; else echo 'Ложь'; ?> |
Данный код выводит: “Истина”.