1
3.5.8PHP错误控制运算符
Posted by 撒得一地 on 2015年10月31日 in PHP入门教程
上一篇: 3.5.7PHP执行运算符
下一篇: 3.6PHP的表达式
下一篇: 3.6PHP的表达式
@在php中是错误屏蔽运算符,可以对程序中出现错误的表达式进行操作,进而对错误信息进行屏蔽,它的使用方法就是在表达式前加上@即可。@只是对表达式可能出现的错误信息进行屏蔽,并没有真正解决错误。
经常在程序中使用某些函数出现一些不必要(不影响程序运行的错误)的错误信息时,可以使用该运算符进行屏蔽。针对程序中一些可能影响程序运行的错误,使用@来屏蔽错误并不是真正解决问题的办法,所以一般也不建议使用它。
实例1:
<?php $errstr = 5/0; echo 5; echo "<br/>"; ?> 上面程序运行后会打印出下面内容: 5 PHP Warning: Division by zero in ..../xxx.php on line 2
如果不想显示这个错误,就可以在表达式前加上@,实现代码如下:
<?php $err = @(5/0); echo 5; echo "<br/>"; ?> 上面运行结果如下: 5
这样,输出时就什么错误都不显示,但是错误依然存在,只是看不到而已。
实例2:
<?php $value = $cache [ $key ]; ?> 运行上面的程序后,会提示: PHP Notice: Undefined variable: cache in .../xxx.php on line 2 PHP Notice: Undefined variable: key in .../xxx.php on line 2
如果在程序中,对于可能运行未定义的变量,而不想提示任何错误时,我们可以在变量前加上@错误控制符,如下:
<?php $value = @$cache [ $key ]; ?>
这样,上面的程序运行后就不会提示任何错误。
总结:@运算符可以用来屏蔽表达式中可能出现的错误,而且运算符只对表达式有效,对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。例如,可以把它放在变量,函数和 include 调用,常量,等等之前。但是,不能把它放在函数或类的定义之前,也不能用于条件结构例如 if 和 foreach 等。
上一篇: 3.5.7PHP执行运算符
下一篇: 3.6PHP的表达式
下一篇: 3.6PHP的表达式
1 Comment
现在使用php的,是越来越多了,.net的人都不好招了