3

私はそのようなURLを持っています:

http://mysite.com/index.php?somename=somevalue

私は通常、次のようにしてsomenameが存在することを確認します。

if (isset($_GET['somename'])) {

しかし、私は最近多くの人がこれをしているのを見てきました:

if ($_GET['somename'] != NULL) {

私の質問は、どちらが他よりも優れているかということです。

4

3 に答える 3

6

nullチェックとは異なり、

isset($_GET['somename']

「未定義のインデックス」通知はスローされないため、2つのうちで間違いなくより望ましいです。

array_key_exists("somename", $_GET); 

も有効です。

nullただし、空の値を許可しない場合は、これをチェックと組み合わせることができます。

于 2012-06-27T22:31:42.833 に答える
0

これらのステートメントは異なります。

isset()は変数に値が含まれているかどうかをチェックし、2番目のステートメントは変数がNULLに等しいかどうかをチェックします。

あなたの場合、isset()を使用して、$ _GET['somename']が存在するかどうかを判断します。

于 2012-06-27T22:32:21.233 に答える
0

最善の方法は通常、両方を行うことです。issetは変数が存在するかどうかをチェックしますが、それがNULLでないかどうかもチェックして、後のチェックが壊れないようにする必要があります。

if(isset($_GET['somevalue']) && $_GET['somevalue'] != NULL)
于 2012-06-27T22:35:29.180 に答える