Tip of the day

Sep 26, 2007 15:11

В любом нормальном языке программирования пишется, например, так (a - boolean):
if (a) do_something();

В PHP тоже самое придётся писать так ($a - может оказаться чем угодно):
if ($a === true) do_something();

software

Leave a comment

Comments 3

dsable September 26 2007, 09:27:41 UTC
А что тут плохого-то? Что длинно?

Reply

batyi September 28 2007, 12:21:48 UTC
То что длинно это просто плохо. То что есть множество плохо продуманных вариантов сравнивать это очень плохо.

В PHP имеется множество шорткатов, каждый из которых упрощает жизнь в одном случае и усложняет жизнь во всех остальных. Какой-то умник решил что это удобно когда можно сравнивать всё что угодно и что угодно можно использовать там где ожидается логическое значение. Тогда же когда обнаружили, что это приводит к проблемам, добавили ещё и операторы === и !== которые работают как и в нормальных языках.
Кроме того php-шники не понимают разницы между false, "", array(), null, 0. Без специальных извращений отличить эти значения в PHP невозможно.

Вопрос на засыпку: что возвращает функция substr?
Вопреки здравому смыслу у этой функции есть специальный случай: вместо пустой строки возвращается false. См. http://ru2.php.net/manual/en/function.substr.php

Reply


qper September 26 2007, 09:42:46 UTC
рекомендую сразу
if (true === $a) do_something();

;)

Reply


Leave a comment

Up