コードでさらに詳しく説明します:
$var = 0;
if (!empty($var)){
echo "Its not empty";
} else {
echo "Its empty";
}
結果は「空です」を返します。empty() は、変数がすでに設定されていて、値が入っているかどうかをチェックするものだと思っていました。なぜ「空です」が返されるのでしょうか?
ベストアンサー1
以下のものは空であるとみなされます:
- "" (空の文字列)
- 0 (整数として0)
- 0.0 (浮動小数点数として 0)
- "0" (文字列としての0)
- ヌル
- 間違い
- array() (空の配列)
- var $var; (クラス内で宣言されているが値のない変数)
これはブール型への強制とまったく同じリストであることに注意してくださいfalse
。empty
は単に です!isset($var) || !$var
。試してみてくださいisset
その代わり。