Показать сообщение отдельно

  #11  
Старый 31.07.2009, 15:48
cr0w
Познающий
Регистрация: 11.09.2008
Сообщений: 99
С нами: 9296966

Репутация: 585
По умолчанию

jokester

Интерпретатор переводит строку к числу, когда у нее первый символ - цифра, если второй операнд - числовой (как в твоем примере). Но я в тех примерах сравнивал по две строки, а не числа со строками.
К тому же, если интерпретатор просто переводит эти строки в числа, то с нулем в начале, он по логике вещей скорее должен был бы считать их восьмеричными числами, но это не так: 0789 - не восьмеричное число.

По сути, скорее всего пхп сравнивает:
'' c '' (пустые строки)
'789' и '789' (именно строки, а не числа)
и строки '00abc' и '0000abc' - при наличии букв нули в строках не убираются, даже если вставить цифры:
Код:
<?php 
if ( '0012a' == '000012a' ) echo "Условие верно";
?>
Результатом условия будет false.

add: впрочем, это пока просто мои предоложения - как будет время покопаюсь в сорсах php по этому поводу.

Последний раз редактировалось cr0w; 31.07.2009 в 15:57..
 
Ответить с цитированием