php错误控制运算符@

PHP支持一个错误控制运算符:@。当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉。

如果用set_error_handle()设定了自定义的错误处理函数,仍然会被调用,但是此错误处理函数可以(并且也应该)调用 error_reporting(),而该函数在出错语句前有 @ 时将返回 0。

如果激活了track_errors特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。 

<?php
/**
 * Created by PhpStorm.
 * User: 58
 * Date: 2016/9/19
 * Time: 15:56
 */
$my_file = @file('hello.txt') or die('sssssssss');
$value = @ $cache[$key];

  Note: @ 运算符只对表达式有效。对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。例如,可以把它放在变量,函数和include 调用,常量,等等之前。不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。     

 

原文地址:https://www.cnblogs.com/usa007lhy/p/5885526.html