Только что ушло полчаса жизни и неизвестное количество нервных клеток на поиски несуществующего бага. По пути - много рефлексий о вреде излишков кофеина и ранних симптомах всякого такого.
А потом - Прозрение.
php не понимает разницы между null и 0
То есть с точки зрения создателей языка "мы не знаем сколько картошки в этом мешке, а может быть и вовсе мешка никакого нет" и "этот мешок пустой" - одно и то же.
$a = 0;
if($a == null) echo "yes";
else echo "no";
- проверьте сами, кто не верит, выдает "yes".
P.S.
"Расмус Лердорф родился 22-го ноября 1968-го года в городе Кекертарсуак, в Гренландии, автономной островной территории Дании. С 1988-го по 1993-й год он учился в Университете Уотерлу в Канаде, который окончил со степенью бакалавра программиста систем инженерного дизайна."
- а существует ли вообще
Это строго "вовсе мешка никакого нет"
если переменная определена, но значение ей не присвоено, то это же тоже null, разве нет?
# define NULL (0)
Было правдой жизни прямо так и написанной в соответствующем хидере.
Причину понял сразу - но вот сам факт был неожиданностью. Не ждал.
PS: Я поражен, на что мировой разум потратил 30 комментов =)
о_О
ах ну да - спасибо, вы вернули мне веру в человечество
значит все свелось к банальному незнанию матчасти, а с миром все в порядке
P.S. я надеюсь оператора (====) не существует? )