phpで変数がからっぽか判断

phpで変数に何も入ってないか判断するのに

とありますが少々思ったのと違う結果になります

$var = ''; // 空文字だからfalseがほしい
var_dump(empty($var));
// -> true
var_dump(is_null($var));
// -> false

$var = 0; // 0が入ってるからtrueがほしい
var_dump(empty($var));
// -> true
var_dump(is_null($var));
// -> false

変数に何も入ってない ” とか nullはtrueになって欲しいですが
変数に空文字のときはis_nullはtrueになってほしい、
変数に0のときはemptyはfalseになってほしい、、

とそんなときは、文字の長さを見る

を使うといいと思います

$var = ''; // 空文字だからfalseがほしい
var_dump(strlen($var) === 0);
// -> false

$var = 0; // 0が入ってるからtrueがほしい
var_dump(strlen($var) === 0);
// -> true

イコールが3ついるので注意です

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください