PHPのマニュアルによるとそれぞれの挙動が違うと思います。
http://php.net/manual/ja/types.comparisons.php
PHP
11、empty() 22、is_null() 33、isset() 44、boolean : if($x)
この中で4を使わない方がいいと言う人がいました。
確かに1で!empty()で同様の動きができるようなのですが、結構こういう書き方って多いと思います。
説明を求めたのですが根拠がいまいちわからずご存知の方がいたら教えてください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
PHPのisset,empty,is_null - モトクロスとプログラムと粉砕骨折と
isset() is_null() empty() の違い と 変数の理解 と | 学習B5デスノート
php
1<?php 2 3$x = 0; 4echo PHP_EOL.'$x = 0;'.PHP_EOL; 5var_dump(is_null($x)); 6var_dump(!empty($x)); 7var_dump(isset($x)); 8var_dump(empty($x)); 9 10$x = '0'; 11echo PHP_EOL.'$x = '."'".'0'."'".';'.PHP_EOL; 12var_dump(is_null($x)); 13var_dump(!empty($x)); 14var_dump(isset($x)); 15var_dump(empty($x)); 16 17$x = ''; 18echo PHP_EOL.'$x = '."''".';'.PHP_EOL; 19var_dump(is_null($x)); 20var_dump(!empty($x)); 21var_dump(isset($x)); 22var_dump(empty($x)); 23 24$x = NULL; 25echo PHP_EOL.'$x = NULL;'.PHP_EOL; 26var_dump(is_null($x)); 27var_dump(!empty($x)); 28var_dump(isset($x)); 29var_dump(empty($x)); 30 31$x = TRUE; 32echo PHP_EOL.'$x = TRUE;'.PHP_EOL; 33var_dump(is_null($x)); 34var_dump(!empty($x)); 35var_dump(isset($x)); 36var_dump(empty($x)); 37 38$x = FALSE; 39echo PHP_EOL.'$x = FALSE;'.PHP_EOL; 40var_dump(is_null($x)); 41var_dump(!empty($x)); 42var_dump(isset($x)); 43var_dump(empty($x)); 44 45$x = array(); 46echo PHP_EOL.'$x = array();'.PHP_EOL; 47var_dump(is_null($x)); 48var_dump(!empty($x)); 49var_dump(isset($x)); 50var_dump(empty($x)); 51 52unset($x); 53echo PHP_EOL.'unset($x);'.PHP_EOL; 54var_dump(is_null($x)); 55var_dump(!empty($x)); 56var_dump(isset($x)); 57var_dump(empty($x));
$x = 0; bool(false) bool(false) bool(true) bool(true) $x = '0'; bool(false) bool(false) bool(true) bool(true) $x = ''; bool(false) bool(false) bool(true) bool(true) $x = NULL; bool(true) bool(false) bool(false) bool(true) $x = TRUE; bool(false) bool(true) bool(true) bool(false) $x = FALSE; bool(false) bool(false) bool(true) bool(true) $x = array(); bool(false) bool(false) bool(true) bool(true) unset($x); Notice: Undefined variable: x in /in/D8H2k on line 54 bool(true) bool(false) bool(false) bool(true)
(見づらいので、3v4lのサイトを見に行ってください。)
投稿2017/04/06 10:03
編集2017/04/06 10:49退会済みユーザー
総合スコア0
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/06 10:08