0

設定されていない可能性のある変数の値を確認するためにいつも行っている方法よりも良い方法があるかどうか疑問に思っていましたか? 例えば ​​:

if(isset($_SESSION['super_user']) && $_SESSION['super_user'] == true) {
  echo 'hi super user';
}

これを行う方がはるかに簡単です:

if($_SESSION['super_user']) {
  echo 'hi super user';
}

しかし、未定義のインデックスの通知になってしまいます。このような単純な検証を行う別の方法はありますか、それとも実際の方法に固執する必要がありますか?

ありがとう

4

3 に答える 3

1
if (!empty($_SESSION['super_user'])) {
    // ...
}
于 2013-03-12T15:29:18.917 に答える
0

特定の例では、現在のコードを次のように短縮できます

if(!empty($_SESSION['super_user']))

ただし、正しい方法は

if ($_SESSION['role'] == 'super_user')

設定されていない可能性のある変数の値を確認するためにいつも行っている方法よりも良い方法があるかどうか疑問に思っていましたか?

はい。常にすべての変数を定義してください。私が上に投稿したもののように。すべてのユーザーに対して常にrole要素を用意し、存在するかどうかを確認する必要はありません。

于 2013-03-12T15:30:44.073 に答える
0

ユーザーがスーパーユーザーである場合に$_SESSION['super_user']のみfalse、最初に設定できます。その後、いつでも使用できます。trueif ($_SESSION['super_user']) {}

于 2013-03-12T15:29:25.890 に答える