$foo = 0;
if($foo == 'on') $foo = 1;
echo $foo;
Следует ожидать, что вышеприведенный код выводит «0». Однако это не так, как-то $foo == 'on'
приводит к TRUE
, хотя это, очевидно, неправильно. Замена выражения на $foo === 'on'
дает правильный ответ, поэтому любые подозрения, что это может быть какой-то проблемой при наборе текста, похоже, подтверждаются.
Тем не менее, как PHP может думать, что $foo
было 'on'
, если $foo
и 'on'
даже не относятся к одному и тому же типу? Это ошибка или какая-то странная особенность?