Проблема со сравнением
Ребята, то ли я сошел с ума, то ли мировые законы поменялись.
Выражение $val_int = 0; $val = 'Текст'; if ($val_int == $val) { echo 'цифра'; } else { echo 'Текст'; } дает в конце ответ - ЦИФРА. Почему???! |
$val = 'Текст'; echo (integer) $val; Вот почему. |
"В случае, если вы сравниваете число со строкой или две строки, содержащие числа, каждая строка будет преобразована в число, и сравниваться они будут как числа." (официальный manual)
При использовании == происходит преобразовании типов. Строка приводится к числу. Если в строке записано число например "10" то оно будет приведено к числу 10. В противном случаи любая строка будет нулем. |
squall88, спасибо, достаточно подробно описано.
|
Часовой пояс GMT +3, время: 22:29. |