САМОУЧИТЕЛЬ PHP 4



         

Логические переменные


Существует и еще один гипотетический тип переменных— логический. Логическая переменная может содержать одно из двух значений: false (ложь) или true (истина). Любое ненулевое число (и непустая строка), а также ключевое слово true символизирует истину, тогда как 0, пустая строка и слово false — ложь. Таким образом, любое ненулевое выражение (в частности, значение переменной) рассматривается в логическом контексте как истина. Вы можете пользоваться константами false и true в зависимости от логики программы.

Ключевые слова false и true — не совсем обычные константы. Раньше я говорил, что false

является просто синонимом для пустой строки, а true — для единицы. Именно так они выглядят, если написать следующие операторы:

echo false;  // âûâîäèò ïóñòóþ ñòðîêó, ò. å. íè÷åãî íå âûâîäèò

echo true;   // âûâîäèò 1

Теперь давайте рассмотрим такую программу (листинг 7.1).

Листинг 7.1. Логические величины

<?

$a=100;

if($a==1) echo "ïåðåìåííàÿ ðàâíà 1!<br>"

if($a==true) echo "ïåðåìåííàÿ èñòèííà!<br>"

?>

Если бы true была в точности равна константе 1, то вывелись бы обе строки, не правда ли? А отображается только последняя. Это говорит о том, что не все так просто. Мы видим, что в операторах сравнения (например, в операторе сравнения на равенство ==, а также в операторах >, < и т. д.) PHP интерпретирует один из операндов как логический, если другой также логический. Следующий пример (листинг 7.2) показывает, что, вообще говоря, PHP хранит для каждой переменной признак, является ли она логической.




Содержание  Назад  Вперед