Переменная логического типа может иметь только два значения TRUE или FALSE. Выражения с логическим типом могут использовать логические операторы: &&, ||, !, and, or, xor.
Примеры:
<?php $var_1 = true; $var_2 = false;
$var_3 = $var_1 && $var_2; // результат логического И - false $var_3 = $var_1 and $var_2; // тоже самое, только в другой записи $var_3 = $var_1 || $var_2; // результат логического ИЛИ - true $var_3 = $var_1 or $var_2; // тоже самое, только в другой записи $var_3 = !$var_1; // результат логического НЕ - false $var_3 = $var_1 xor $var_2; // результат исключающего ИЛИ - true ?>
Значение логического типа может быть результатом сравнения. Допускаются операторы сравнения: ==, !=, <>, <, >,<=, >=, ===, !==.
Примеры:
<?php $var_1 = 15; $var_2 = 17;
$var_3 = $var_1 == $var_2; // проверка на равенство, результат false $var_3 = $var_1 != $var_2; // проверка на неравенство, результат true $var_3 = $var_1 <> $var_2; // тоже самое, только в другой записи $var_3 = $var_1 > $var_2; // результат false $var_3 = $var_1 < $var_2; // результат true $var_3 = $var_1 >= $var_2; // результат false $var_3 = $var_1 <= $var_2; // результат true
$var_4 = 15; $var_5 = 15.0;
/* проверка на эквивалентность, должны совпасть не только значения, но и типы переменных */
$var_3 = $var_1 === $var_4; // результат true $var_3 = $var_1 === $var_5; // результат false $var_3 = $var_1 !== $var_4; // результат false $var_3 = $var_1 !== $var_5; // результат true ?>
Выражение любого типа может быть преобразовано к логическому путем использования конструкции (Boolean) (аналогично (integer) и (float)). Также такое преобразование может быть выполнено неявно при вычислении выражений в условных операторах, операторах цикла и т.п. Используются следующие правила. В FALSE преобразуются следующие значения: