То что длинно это просто плохо. То что есть множество плохо продуманных вариантов сравнивать это очень плохо.
В PHP имеется множество шорткатов, каждый из которых упрощает жизнь в одном случае и усложняет жизнь во всех остальных. Какой-то умник решил что это удобно когда можно сравнивать всё что угодно и что угодно можно использовать там где ожидается логическое значение. Тогда же когда обнаружили, что это приводит к проблемам, добавили ещё и операторы === и !== которые работают как и в нормальных языках. Кроме того php-шники не понимают разницы между false, "", array(), null, 0. Без специальных извращений отличить эти значения в PHP невозможно.
Вопрос на засыпку: что возвращает функция substr? Вопреки здравому смыслу у этой функции есть специальный случай: вместо пустой строки возвращается false. См. http://ru2.php.net/manual/en/function.substr.php
Comments 3
Reply
В PHP имеется множество шорткатов, каждый из которых упрощает жизнь в одном случае и усложняет жизнь во всех остальных. Какой-то умник решил что это удобно когда можно сравнивать всё что угодно и что угодно можно использовать там где ожидается логическое значение. Тогда же когда обнаружили, что это приводит к проблемам, добавили ещё и операторы === и !== которые работают как и в нормальных языках.
Кроме того php-шники не понимают разницы между false, "", array(), null, 0. Без специальных извращений отличить эти значения в PHP невозможно.
Вопрос на засыпку: что возвращает функция substr?
Вопреки здравому смыслу у этой функции есть специальный случай: вместо пустой строки возвращается false. См. http://ru2.php.net/manual/en/function.substr.php
Reply
if (true === $a) do_something();
;)
Reply
Leave a comment