私はそのようなURLを持っています:
http://mysite.com/index.php?somename=somevalue
私は通常、次のようにしてsomenameが存在することを確認します。
if (isset($_GET['somename'])) {
しかし、私は最近多くの人がこれをしているのを見てきました:
if ($_GET['somename'] != NULL) {
私の質問は、どちらが他よりも優れているかということです。
私はそのようなURLを持っています:
http://mysite.com/index.php?somename=somevalue
私は通常、次のようにしてsomenameが存在することを確認します。
if (isset($_GET['somename'])) {
しかし、私は最近多くの人がこれをしているのを見てきました:
if ($_GET['somename'] != NULL) {
私の質問は、どちらが他よりも優れているかということです。
null
チェックとは異なり、
isset($_GET['somename']
「未定義のインデックス」通知はスローされないため、2つのうちで間違いなくより望ましいです。
array_key_exists("somename", $_GET);
も有効です。
null
ただし、空の値を許可しない場合は、これをチェックと組み合わせることができます。
これらのステートメントは異なります。
isset()は変数に値が含まれているかどうかをチェックし、2番目のステートメントは変数がNULLに等しいかどうかをチェックします。
あなたの場合、isset()を使用して、$ _GET['somename']が存在するかどうかを判断します。
最善の方法は通常、両方を行うことです。issetは変数が存在するかどうかをチェックしますが、それがNULLでないかどうかもチェックして、後のチェックが壊れないようにする必要があります。
if(isset($_GET['somevalue']) && $_GET['somevalue'] != NULL)