PHP を使用してページ プログラムを作成する場合、PHP ページの最後にある変数値が空かどうかを判断するために変数処理関数をよく使用します。最初は empty() 関数の使用に慣れていましたが、いくつかの関数を見つけました。問題があったので、 isset() 関数に切り替えました。もう問題はありません。
名前が示すように、empty() は変数が「空」かどうかを判断し、isset() は変数が設定されているかどうかを判断します。いわゆる「名前のとおり」ということで、最初に少し回り道をしました。変数の値が 0 の場合、empty() も真 (True) になるため、いくつかの事故が発生します。 empty() と isset() は両方とも変数処理関数であり、どちらも変数が設定されているかどうかを判断するために使用されますが、特定の違いがあることがわかりました。変数は空です。変数値が 0 の場合、empty() は変数が空であることと同等、つまり設定されていないことと同等であるとみなします。
たとえば、$id 変数を検出するには、$id=0 の場合、empty() と isset() を使用して、変数 $id が設定されているかどうかを検出します。両方とも異なる値を返します。empty() は、あると考えます。設定なし、isset() $id の値を取得できます:
コードをコピーします
コードは次のとおりです: $id=0;
empty($id)?print "空です。" :print "$id です。";
/ /結果: 空です .
print "
";
!isset($id)?print "$id です。";
//Result: It's 0 .
これは、変数処理関数を使用する場合、変数の値が 0 になる可能性がある場合、empty() を使用する場合は注意が必要であることを意味します。それをセットで。
PHP ページの URL 末尾パラメーターが id=0 である場合 (例: test.php?id=0)、比較してみます:
コードをコピーします
コードは次のとおりです: if (empty($id) ) $id=1; - id=0 の場合、id も 1 になります
if(!isset($id)) $id=1; - id=0 の場合、id は 1 になりません
以下を個別に実行できます コードは上記の推論を検出します:
コードをコピーします
コードは次のとおりです: if(empty($id)) $id=1;
print $id ; // 1 を取得します if(!isset($id) ) $id=1;
Print // 0 を取得します
http://www.bkjia.com/PHPjc/327652.htmlwww.bkjia.com
truehttp://www.bkjia.com/PHPjc/327652.html技術記事 PHPでページプログラムを書くとき、PHPページの最後にある変数値が空かどうかを判断するために変数処理関数をよく使います。最初はempty()関数を使うことに慣れていました...。