PHPでは、0は空として扱われますか?質問する

PHPでは、0は空として扱われますか?質問する

コードでさらに詳しく説明します:

$var = 0;

if (!empty($var)){
echo "Its not empty";
} else {
echo "Its empty";
}

結果は「空です」を返します。empty() は、変数がすでに設定されていて、値が入っているかどうかをチェックするものだと思っていました。なぜ「空です」が返されるのでしょうか?

ベストアンサー1

http://php.net/empty

以下のものは空であるとみなされます:

  • "" (空の文字列)
  • 0 (整数として0)
  • 0.0 (浮動小数点数として 0)
  • "0" (文字列としての0)
  • ヌル
  • 間違い
  • array() (空の配列)
  • var $var; (クラス内で宣言されているが値のない変数)

これはブール型への強制とまったく同じリストであることに注意してくださいfalseemptyは単に です!isset($var) || !$var。試してみてくださいissetその代わり。

おすすめ記事