1
$text = 'OMNOMNOM';

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

条件がトリガーされ、「はい」と表示されるのはなぜですか? なぜ'OMNOMNOM' == 0ですか?キャッチは何ですか?

更新:

と書くif('qwe' == 1)と、条件付きで false が返され、 と書くif('qwe' == 0)と、条件付きで true が返されます... 条件が文字列ではなく整数でチェックされるのはなぜですか?

4

1 に答える 1

4

PHPを使用する==と、値を同じ型にキャストしようとするため(この場合、両方が整数のように見えます)、使用する===とキャストされず、型が考慮されます(したがって、とを取得trueするには、等しい必要がtypeあります) value.

だから使用してみてください:

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