$text = 'OMNOMNOM';
if($text == intval($text))
echo 'yes';
else
echo 'no';
为什么触发条件,我们看到“是”?为什么'OMNOMNOM' == 0
?有什么收获?
UPD:
如果我写if('qwe' == 1)
,条件返回false,如果我写if('qwe' == 0)
,条件返回true ...为什么条件检查整数,而不是字符串?
答案 0 :(得分:4)
因为使用==
PHP尝试将值转换为相同的类型(在这种情况下它看起来像是整数),如果你使用===
那么它将不会强制转换并关注类型(以便true
type
和value
得到if($text === intval($text))
echo 'yes';
else
echo 'no';
。
所以尝试使用:
{{1}}