Я следующее выражение PHPвыражение PHP верно
($g == $key)
Значения: $g = objid
и $key = 0
Если я дамп Выражение
var_dump(array($g == $key,$g, $key));
результат
array(3) { [0]=> bool(true) [1]=> string(5) "objid" [2]=> int(0) }
Почему он показывает true
? Я решаю проблему, используя ===
в своем выражении, но мне хотелось бы знать, почему это происходит.
Там обязательно будет несколько обманутые этого вопроса, но, как всегда местонахождение их трудно. Google «Жесткое манипулирование PHP». – Jon
Короче говоря, это ловушка PHP как языка. Лучше всего использовать оператор '===', потому что оператор '==' сильно несовместим. – eluong
@eluong Я считаю, что это проблема с любым свободно типизированным языком, а не только с PHP (Javascript для одного). Лучший способ справиться с этим - всегда использовать '==='. :) –