ホームページ >バックエンド開発 >PHPチュートリアル >PHP の学習方法: PHP empty() と isset() の違い
PHP の学習方法: PHP empty() と isset() の違い
PHP でページ プログラムを作成するとき、私はよく変数処理関数を使用して、PHP ページの最後の変数値が空かどうかを判断します。私は empty() 関数の使用に慣れていましたが、いくつかの問題が見つかったので、isset() 関数に切り替えたところ、問題はなくなりました。
名前が示すように、empty() は変数が「空」かどうかを判断し、isset() は変数が設定されているかどうかを判断します。いわゆる「名前のとおり」ということで、最初に少し回り道をしました。変数の値が 0 の場合、empty() も真 (True) になるため、いくつかの事故が発生します。 empty() と isset() は両方とも変数処理関数であり、どちらも変数が設定されているかどうかを判断するために使用されますが、特定の 違い があることがわかりました。 🎜>empty は、変数が空かゼロかどうかも検出します。変数値が 0 の場合、empty() は変数が空であることと同等、つまり設定されていないことと同等であるとみなします。
たとえば、$id 変数を検出するには、$id=0 の場合、empty() と isset() を使用して、変数 $id が設定されているかどうかを検出します。どちらも異なる値を返します。empty() の値は設定がないことを考慮し、isset() は $id の値を取得できます:
これは、変数処理関数を使用する場合、変数の値が 0 になる可能性がある場合、empty() を使用するときは注意し、この時点で isset に置き換える方が賢明であることを意味します。
PHP ページの URL 末尾パラメーターが id=0 である場合 (例: test.php?id=0)、次のように比較してみます:
それらの接続について説明すると、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() は
を返します。
誤り
var が存在する場合は