2014-10-17 2 views
1

Когда я запускаю код в последующем PHPУсловные в PHP

if('yes' == 0) 
    echo 'a'; 
else 
    echo 'b'; 

Выхода есть.
Я не понимаю, что случилось? И могу ли я преобразовать PHP-код в исходный код C, чтобы посмотреть, что происходит в действительности?

+0

ответ

1

PHP - это динамически типизированный язык, а == - это loose comparison operator, то есть он будет сначала отличать значения, которые он сравнивает с одним типом, int в этом отношении, а затем сравнить их; строки отбрасываются в целые числа, беря числовые значения из левой части, поэтому 1abc отличает 1. По этой логике yes отлита до 0 и 0 == 0 дает true.

Смежные вопросы