PHP, тонкости IF
26 августа, 2010
Если у вас:
if (0==’text’) возвращает true — не спешите убиваться головой апстену. Это Нормально =)
Чтобы такого не было, используйте следующее:
1. if (‘text’==0)
или
2. if ((string)$var==’text’).
Почему это происходит? Приведение типов.
в исходном примере if (0==’text’) работает приведение if (0=(int)’text’), что приводит ‘text’ к 0.
Если использовать if (‘text’==0), то сработает приведение 0 к типу значения ‘text’ — string.