php - 使用 "@"来抑制警告/通知对吗?

标签 php

我想,标题本身就解释了这个问题....:)

使用@ 来抑制PHP 警告和通知是否正确? 例如,在:-

if (isset($someArray['somekey'])) {
    $myVar = $someArray['somekey'];
}

并在:-

$myVar = @$someArray['somekey'];

哪一个是正确的方法?为什么另一个是错误的?

最佳答案

Is it right to use @ to suppress PHP warnings and notices ?

没有

which one is right way?

第一种方法。

And why the other one is wrong?

这两种方法都使 $myVar 被分配了一个 NULL ,但是你不应该试图抑制错误/警告。


评论说明:

嗯,您不想知道是什么原因导致您的脚本在您期待其他内容时显示一些奇怪的输出?

如果你正在运行这段代码.. echo $source=file_get_contents("http://www.google.com"); 考虑如果 google.com 出现故障,那么您会在脚本中收到一条通知,例如..'找不到主机名',通过阅读此信息性消息,您可以很清楚地知道您的代码是正确的,但问题仅出在 Google 服务器上。

假设您有 echo $source=@file_get_contents("http://www.google.com"); ,不会打印任何内容,但是您会期待 HTML 源代码。

你拿到照片了吗?

关于php - 使用 "@"来抑制警告/通知对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20854013/

相关文章:

PHP静态方法递归

php - 使用php codeigniter连接到远程服务器数据库

php - PHP 中的多级 JSON 数组

php - 学说 2 DQL : Cannot reuse named parameter?

php - mysql_fetch_row 每隔一行返回一次?

PHP 向服务器发送 XML 请求(TNT Express Connect 定价模块)

php - 使用 MySQL 和 PHP 从数据库输出多行

PHP - 自动检测文件何时/是否已更新

php - FILTER_VALIDATE_EMAIL 是否足以阻止 shell 注入(inject)?

php - Slim 框架的身份验证不起作用