フロート0が空である理由を誰にも説明できますか?以下のコードは、私は以下のコードにした場合、それは「奇妙な」と表示することはありません一方浮動小数点数0はPHPで空の文字列として返されます
$empty = (float)"0";
if($empty == "")
echo "weird";
を「奇妙な」と表示されます。
$empty = (float)"0.01";
if($empty == "")
echo "weird";
フロート0が空である理由を誰にも説明できますか?以下のコードは、私は以下のコードにした場合、それは「奇妙な」と表示することはありません一方浮動小数点数0はPHPで空の文字列として返されます
$empty = (float)"0";
if($empty == "")
echo "weird";
を「奇妙な」と表示されます。
$empty = (float)"0.01";
if($empty == "")
echo "weird";
PHPで、次の式が真であるので、これは次のとおりです。
0 == ""
0.0 == ""
ないここ$empty
が空の文字列""
ですので。
あなたはが===
を使用して平等のチェックを入力実行することができ、そして予想通りこれらの表現は、偽表示されます。
0 === ""
0.0 === ""
は、それが期待されます。 PHP 0
では空の文字列と同様にFALSEと評価されます。これを避けるには、厳密な等価性をテストする===
を使用してください(a === bは "a == bを行い、リンゴをリンゴと比較しています"、a == bは "これらのものは同じ値ですか? (私はリンゴやヤギを比較していた場合、それは問題ではありません))
このお試しください:それは比較はPHPでどのように機能するか緩んだので
$empty = (float)"0";
if($empty === "")
echo "weird";
ああ大丈夫です。 – lilsizzo