isset($ var)与@ $ var

joh*_*nkj 11 php error-handling

这是一个好的做法还是使用PHP的错误抑制的可接受方式?

if (isset($_REQUEST['id']) && $_REQUEST['id'] == 6) {
  echo 'hi';
}

if (@$_REQUEST['id'] == 6) {
  echo 'hi';
}
Run Code Online (Sandbox Code Playgroud)

编辑:
我也这么认为.代码(和想法)来自朋友.
谢谢你证明我是对的.:)

Sco*_*ers 16

使用@来抑制错误只会抑制错误的显示,而不是创建.因此,如果不首先检查isset(),则会从错误中获得较小的性能影响.


Kem*_*emo 12

使用错误抑制并不是一个很好的做法.根本不使用$ _REQUEST是一个好习惯.只需使用isset()或!empty()或其他什么,不要懒惰.

还有一件事,使用isset()时关闭括号是一个"好习惯":)