ホームページ >バックエンド開発 >PHPチュートリアル >空でない str==0 の結果は true です
<?php $str='asdfasdfa'; $bool = ($str==0); echo $bool;?>
あなたはこうです
<?php $str='asdfasdfa'; $bool = ($str=='0'); echo $bool;?>
<?php $str='asdfasdfa'; $bool = ($str===0); echo $bool;?>
あなたはこんな感じです
<?php $str='asdfasdfa'; $bool = ($str=='0'); echo $bool;?>
<?php $str='asdfasdfa'; $bool = ($str===0); echo $bool;?>
上記のように
こんな感じで分析してみました
echo $str > 0 結果は空
echo $str echo $str == 0 結果は 1 です
$str は文字列であり、数値そのものではないため、数値としては、PHP では false==0 が true になります
データベースを検索したところ、varchar フィールドは次のとおりでした。 Col=0 で検索した結果が間違っていました。代わりに使用してください。col が null の場合は正しいです
同じ理由のはずです
http://bbs.csdn.net/topics/390529217
上記の説明は理にかなっています
実際には文字列が最初に変換されると思いました。 ! ! !
== 比較を行う場合、文字列と数値を比較する場合、文字列が 0 でない場合はすべて 0 に変換されます。比較結果は '===' を使用してみてください。比較してみるとわかります
文字列が最初に変換されると思っていましたが、0 が最初に文字列に変換されます。 ! ! !
はは、そのような実験を行ってもわかりません。それについては何もできません
これを実行したら
<?php $str='asdfasdfa'; $bool = ($str=='0'); echo $bool;?>
<?php $str='asdfasdfa'; $bool = ($str===0); echo $bool;?>