- 1
var_dump( ((int) 0 == (string) "test") ); // TRUE
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+142
var_dump( ((int) 0 == (string) "test") ); // TRUE
Бляааа...
bormand 20.04.2013 09:09 # +1
Lure Of Chaos 20.04.2013 10:05 # +2
bormand 20.04.2013 10:08 # 0
Более того:
guest 14.06.2013 12:34 # 0
Перед стравнением, приводится тип правоя сторона к типу левой стороны.
Т.е. "test" приводиться к int.
А (int) "test" = 0.
Соответственно 0 == 0 является true.
scriptin 20.04.2013 10:25 # +3
Что более неприятно:
Решается передачей true как третьего аргумента.
Vizer 23.04.2013 11:30 # +2
Чтобы 0 внезапно не стал строкой, а "test" внезпно не стало числом? </sarcasm>