在您看来,使用@运算符来抑制PHP中的错误/警告是否有效,而您可能正在处理错误?
如果是这样,你会在什么情况下使用它?
欢迎使用代码示例.
编辑:回复者的注意事项.我不打算关闭错误报告,但是,例如,通常的做法是使用
@fopen($file);
Run Code Online (Sandbox Code Playgroud)
然后检查......但是你可以通过这样做摆脱@
if (file_exists($file))
{
fopen($file);
}
else
{
die('File not found');
}
Run Code Online (Sandbox Code Playgroud)
或类似的.
我想问题是 - 是否有任何@HAS用于抑制错误,不能以任何其他方式处理?
if((isset($_GET[example]))&&($_GET['example']=='somevalue')){ ... }
Run Code Online (Sandbox Code Playgroud)
要么
if((!empty($_GET[example]))&&($_GET['example']=='somevalue')){ ... }
Run Code Online (Sandbox Code Playgroud)
要不就
if($_GET['example']=='somevalue'){ ... }
Run Code Online (Sandbox Code Playgroud)
我问为什么我看到很多例子,人们首先检查是否设置了$ _GET ['example']然后如果$ _GET ['example'] =='somevalue'(上面的第一个和第二个例子).我不明白为什么不使用最后的解决方案(如果$ _GET ['example'] =='somevalue'然后显然设置了$ _GET ['example']).
这个问题涉及任何其他变量($ _POST,$ _SERVER,ecc).