PHPのempty()とisset()の違い
1. 空の関数
目的: 変数が空かどうかを確認します
判定: var が空でない、またはゼロ以外の値の場合、empty() は FALSE を返します。つまり、""、0、"0"、NULL、FALSE、array()、var $var;、およびプロパティを持たないオブジェクトは空とみなされ、var が空の場合は TRUE が返されます。ソースマニュアル: http://php.net/manual/zh/function.empty.php
注: empty() は変数のみを検出します。変数ではないものを検出すると解析エラーが発生します。
$name=0;
$name='';
$name=null;
$name="0";
$名前;
if(空($name))
{
echo "ok"; //empty($name) の上記 5 つの書き方はすべて true です
}
if(empty($na)) //変数 $na が未定義なので結果は true になります
2. isset関数
目的: 変数が設定されているかどうかを確認します
判断: 変数が設定されており、NULL ではないかどうかを確認します。 unset() を使用して変数が解放された場合、その変数は isset() ではなくなります。 isset() を使用して NULL に設定された変数をテストすると、FALSE が返されます。 NULL バイト ("
isset 関数は、この変数が設定されているかどうかを検出するために使用されます。次の 2 つの場合、isset は false とみなされます。
①$id 値が指定されていません
②あるいは定義が全くない
そのため、フォームがデータ付きで送信されているかどうかを判断する場合は、isset を使用して if(isset($_GET/$_POST['Variable']){echo $_GET['Variable']}else{ echo 'データがありません' を判断することをお勧めします。渡されます '}
例:
$a1 = null;
$a2 = false;
$a3 = 0;
$a4 = '';
$a5 = '0';
$a6 = 'null';
$a7 = 配列();
$a8 = 配列(配列());
echo empty($a1) ? ‘true’ : ‘false’;// true を出力します
echo empty($a2) ? ‘true’ : ‘false’;// true を出力します
echo empty($a3) ? ‘true’ : ‘false’;// true を出力します
echo empty($a4) ? ‘true’ : ‘false’;// true を出力します
echo empty($a5) ? ‘true’ : ‘false’;// true を出力します
echo empty($a6) ? ‘true’ : ‘false’;// false を出力します
echo empty($a7) ? ‘true’ : ‘false’;// true を出力します
echo empty($a8) ? ‘true’ : ‘false’;// false を出力します
エコー「
」;
echo isset($a1) ? ‘true’ : ‘false’;// false を出力します
echo isset($a2) ? ‘true’ : ‘false’;// true を出力します
echo isset($a3) ? ‘true’ : ‘false’;// true を出力します
echo isset($a4) ? ‘true’ : ‘false’;// true を出力します
echo isset($a5) ? ‘true’ : ‘false’;// true を出力します
echo isset($a6) ? ‘true’ : ‘false’;// true を出力します
echo isset($a7) ? ‘true’ : ‘false’;// true を出力します
echo isset($a8) ? ‘true’ : ‘false’;// true を出力します
1. 変数に値が割り当てられていない場合、または値が NULL の場合、isset 値は false と判断され、それ以外は true になります。
2. emptyを使用する場合は注意すべき点が多く、関数の定義に基づいて判断する必要があります。
http://www.bkjia.com/PHPjc/1060168.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/1060168.html技術記事 PHP における empty() と isset() の違い 1. empty 関数の目的: 変数が空かどうかを検出する 判定: var が空またはゼロ以外の値の場合、empty() は FALSE を返します。つまり、、0、0、...