1
$text = 'OMNOMNOM';

if($text == intval($text))
    echo 'yes';
else
    echo 'no';

为什么触发条件,我们看到“是”?为什么'OMNOMNOM' == 0?有什么问题?

升级版:

如果我写if('qwe' == 1),条件返回假,如果我写if('qwe' == 0),条件返回真......为什么条件检查整数,而不是字符串?

4

1 回答 1

4

因为通过使用==PHP 尝试将值转换为相同的类型(在这种情况下,它看起来都像整数),如果你使用,===那么它不会转换并且会关心类型(所以要获得trueandtype需要value相等) .

所以尝试使用:

if($text === intval($text))
    echo 'yes';
else
    echo 'no';
于 2013-06-27T10:23:04.313 回答