ホームページ >バックエンド開発 >PHPチュートリアル >基本的な質問です、ありがとう
基本的な質問です、ありがとうございます。
echo NULL == false?"true":"false"; // true を出力
echo false == '0'?"true":"false"; // true を出力
次の出力が false になるのはなぜですか?
echo NULL == '0'?"true":"false"; //出力 false
PHP の変数は C 言語の構造体に格納され、空の文字列と NULL と false が格納されます。値は 0 です。
上の文は正しいですか?
-----解決策---------
php は弱い型付け言語です。
したがって、これを
echo false == 0?"true":"false"; に変更すると、出力 true
も true になるため、' の判断だけに頼ることはできません。 0' を使用しているので文字列型です
型比較は行いません
文字列の 0 を判定したい場合は
echo false == とします。 = '0'? "true":"false"; // false を出力します