empty() は、変数が空かどうかを確認するために使用されます。 empty() は、変数が空でない値またはゼロ以外の値の場合に FALSE を返します。つまり、""、0、"0"、NULL、FALSE、array()、var $var;、およびプロパティを持たないオブジェクトは空とみなされ、var が空の場合は TRUE が返されます。
empty() と isset() の簡単な比較。
リーリーこれは関数ではなく言語構造であるため、変数関数から呼び出すことはできません。
empty() は変数のみをチェックします。変数ではないものをチェックすると解析エラーが発生します。つまり、次のステートメントは機能しません: empty(addslashes($name))。
empty は変数が「空」かどうかを判断し、isset は変数が設定されているかどうかを判断します。いわゆる「名前のとおり」ということで、最初に少し回り道をしました。変数の値が 0 の場合、empty() も真 (True) になるため、いくつかの事故が発生します。 empty と isset は両方とも変数処理関数であり、どちらも変数が設定されているかどうかを判断するために使用されますが、いくつかの違いがあることがわかりました。empty は変数が空かゼロかどうかも検出します。変数値が 0 の場合、empty は変数が空であるとみなします。これは、設定されていないことと同じです。
たとえば、$id=0 の場合、変数 $id が設定されているかどうかを確認するには、empty と isset を使用します。どちらも異なる値を返します。empty は設定されていないことを意味し、isset は $id の値を取得できます。 :
プログラムの実行結果:
変数 $id は空です。
$id の値は 0 です。
これは、変数処理関数を使用する場合、変数の値が 0 である可能性がある場合、empty を使用する場合は注意して、それを isset に置き換える方が賢明であることを意味します。
PHP ページの URL 末尾パラメーターが id=0 (例: test.php?id=0) と表示される場合は、以下を比較してみてください:
リーリー次のコードを個別に実行して、上記の推論を検出できます:
リーリー れーれー