- 1
var_dump( ((int) 0 == (string) "test") ); // TRUE
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+142
var_dump( ((int) 0 == (string) "test") ); // TRUE
Бляааа...
Более того:
Перед стравнением, приводится тип правоя сторона к типу левой стороны.
Т.е. "test" приводиться к int.
А (int) "test" = 0.
Соответственно 0 == 0 является true.
Что более неприятно:
Решается передачей true как третьего аргумента.
Чтобы 0 внезапно не стал строкой, а "test" внезпно не стало числом? </sarcasm>