Если логические операторы вам раньше не встречались, то поначалу они могут показаться чем-то необычным. Нужно представить, что вы делаете логические 33- ключения на простом разговорном языке. Например, можно сказать самому себе: «Если время уже больше 12, но меньше 14 часов, значит, нужно пообедать». В РНР код для такого высказывания может выглядеть следующим образом: if ($hour > 12 && $hour < 14) do lunch();
Здесь набор инструкций для самого обеда помещен в функцию по имени dolunch, которую позже нужно будет создать. В этой инструкции отсутствует элемент then, поскольку его присутствие само собой разумеется. Как видно из предыдущего примера, логический оператор обычно используется для объединения результатов работы двух операторов сравнения, показанных в предыдущем разделе. Результат работы одного логического оператора может служить входным значением для другого логического оператора («Если время уже больше.12, но меньше 14 часов или если в прихожей пахнет жареным и тарелки уже стоят на столе»). Как правило, если какое-то действие имеет истинное или ложное значение — TRUE или FALSE, оно может служить входным значением для логического оператора, который берет два истинных или ложных входных значения и выдает в качестве результата истинное или ложное значение. Логические операторы показаны в табл. Оператор | Описание | Пример | && | И | $j == 3 && $k ==2 | and | Низкоприоритетное И | $j == 3 and $k ==2 | || | ИЛИ | $j < 5 || $j > 10 | or | Низкоприоритетное ИЛИ | $j < 5 or $j > 10 | ! | НЕ | ! ($j == $k). | xor | Исключающее ИЛИ | $j xor $k |
Заметьте, что оператор && обычно взаимозаменяем с оператором and; то же самое справедливо и для операторов || и or. Ho у операторов and u or более низкий приоритет, поэтому в некоторых случаях, для того чтобы принудительно расставить приоритеты, могут понадобиться дополнительные круглые скобки. В то же время бывают случаи, когда применимы только операторы and или or, как в следующем предложении, использующем оператор or.
mysql_ select_ db($database) or die("Невозиожно выбрать базу данных");
Наиболее непривычным из этих операторов является xor, предназначенный для операции исключающего ИЛИ, который возвращает истинное значение true, если любое из входных значений истинно, и возвращает ложное значение fe1se, если оба они имеют значение tr ue или false. Чтобы понять ero работу, представьте, что хотите изобрести чистящее средство для дома. Как аммиак (ammonia), так и хлорка (bleach) обладают хорошими чистящими свойствами, поэтому нужно, чтобы ваше средство содержало одно из этих веществ. Но оба они не могут в нем присутствовать, поскольку их сочетание представляет опасность. В PHP это можно представить в следующем виде: $1ngred1ent = $ammonia xor $bleach; В представленном фрагменте если любая из двух переменных, $ammonia или $ bleach, имеет значение true, то значение переменной $ingredient также будет установлено в true. Но если обе они имеют значение true или значение false, значение переменной $ingredient будет установлено в false.
|