ホームページ >バックエンド開発 >PHPチュートリアル >PHP isset() と empty() の違いの詳細な説明
PHP の isset() 関数は、通常、変数が設定されているかどうかを検出するために使用されます
形式: bool isset (mixed var [,mixed var [, ...]] )
関数: 変数が設定されているかどうかを検出します
戻り値:
変数が存在しない場合は、FALSEを返します
変数が存在し、その値がNULLの場合は、FALSEを返します
変数が存在し、その値がNULLでない場合は、TRUEを返します
複数の変数をチェックする場合同時に、各単一項目が前の要件を満たしている場合にのみ TRUE が返され、それ以外の場合は結果が FALSE になります
バージョン: PHP 3、PHP 4、PHP 5
その他の指示:
unset() を使用して変数を解放した後、 isset() ではなくなりました。
PHP 関数 isset() は変数にのみ使用でき、他のパラメータを渡すと解析エラーが発生します。
定数が設定されているかどうかを検出するには、define() 関数を使用します。
PHP の empty() 関数は、値が空かどうかを判断します
形式: bool empty (mixed var)
関数: 変数が空かどうかを確認します
戻り値:
変数が存在しない場合は TRUE を返します
変数が空の場合が存在し、その値が ""、0、"0"、NULL、、FALSE、array()、var $var; および属性のないオブジェクトの場合、TRUE が返されます
変数が存在し、値が "" でない場合、 0、"0 "、NULL、、FALSE、array()、var $var; および属性のないオブジェクトは FALSE を返します
バージョン: PHP 3、PHP 4、PHP 5
その他の命令:
empty() return value =! (ブール値) var ですが、変数が未定義であるため、警告メッセージは生成されません。詳細については、「ブール値への変換」を参照してください。
empty() は変数にのみ使用できます。他のパラメータを渡すと Paser エラーが発生し、操作が終了します。
定数が設定されているかどうかを検出するには、define() 関数を使用します。
例: empty() と isset() の簡単な比較
Php コード
<?php $var = 0; // 结果为 true,因为 $var 为空 if (emptyempty($var)) { echo '$var is either 0 or not set at all'; } // 结果为 false,因为 $var 已设置 if (!isset($var)) { echo '$var is not set at all'; } ?>
それらの関係について話すと、それらの共通点は、empty() と isset() は両方とも変数処理関数であり、その関数であるということです。変数を判断することは、変数が設定されているかどうかにかかわらず、変数の処理プロセスが非常に類似しているため、その関係についての理解が不十分であるということです。 empty() と isset() の 2 つの関数自体だけを考えると、別の角度から見るとさらに混乱するでしょう。 empty() と isset() の処理対象は未定義変数、0、空文字列に過ぎません。
変数が 0 の場合、empty() は TRUE を返し、isset() は TRUE を返します。
変数が空の文字列の場合、empty() は TRUE を返し、isset() は TRUE を返します。定義されている場合、empty() は TRUE を返し、isset() は FLASE を返します
マニュアルでの empty() の説明は次のとおりです:
説明 bool empty(mixed var)
var が空でない場合-ゼロ値の場合は、empty() FALSE を返します。つまり、""、0、"0"、NULL、FALSE、array()、var $var;、およびプロパティを持たないオブジェクトは空とみなされ、var が空の場合は TRUE が返されます。
マニュアルでの isset() の説明は次のとおりです:
isset() は変数が設定されているかどうかを検出します
説明 bool isset (mixed var [,mixed var [, ...]] )
var が存在する場合は TRUE を返します、それ以外の場合は FALSE を返します。
unset() を使用して変数が解放された場合、それは isset() ではなくなります。 isset() を使用して NULL に設定された変数をテストすると、FALSE が返されます。また、NULL バイト (「?」) は PHP の NULL 定数と同等ではないことに注意してください。
警告: isset() は変数でのみ使用できます。他のパラメータを渡すと解析エラーが発生するためです。定数が設定されているかどうかを確認したい場合は、define()関数を使用できます。
変数が宣言されているかどうかを判定したい場合はisset関数が使えます
変数にデータが代入されていて空ではないかを判定したい場合はempty関数が使えます
以下のような場合に変数が存在するかどうかに関係なく、最初に isset 関数を使用し、次に empty 関数を使用します