карты все записи автора
Логические переменные и “подводные камни”.
августа 2, 2009 | Добавить комментарий
Как уже писала ранее (в теме “как определить тип переменной”), большинство функций возвращают логическое значение true или false (все шесть функций, кроме последней – gettype()).
А теперь поговорим о логических переменных.
В PHP правдой (значение true) является любое число, не равное нулю 0, любая не пустая строка.
Значение false - пустая строка, нуль 0 – ложь.
Давайте попробуем это уяснить практически.
Для начала создадим сценарий (файл logical.php) и в нём впишем по такому принципу:
То есть, первый оператор (echo false) выводит пустую строку, то есть ничего не выводит.
Второй оператор выведет 1. Как уже упомянала – ненулевое значение принимается за правду.
Ещё хочу упомянуть об одной особенности, когда используются логические переменные: если в операторах сравнения (==, !=, <,>) один тип является логическим, то второй будет восприниматься так же, как логический.
А теперь модифицируем выше написанный нами сценарий, используя ещё один условный оператор if (если):
В первой строке переменной $x присвоили значение 10.
Затем $x сравнивается с 1 и, если $x равнo 1, то выводится строка “Переменная равна 1“.
Затем $x сравнивается со значением True и, если $x равнo true, то выводится строка “Переменная равна True“.
Исходя из выше приведённого утверждения, должна быть выведенной только вторая строка. Проверьте – так оно и есть.
Попробуем ещё на одном примере (заменяем первый):
Как мы видим из этого примера, сначала программа нам сообщает, что X=50, Y=1, и ещё X=Y.
Смешно, не правда ли?
http://phpnapraktike.ru/