1

3.5.8PHP错误控制运算符

Posted by 撒得一地 on 2015年10月31日 in PHP入门教程

@在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 等。 

标签:

上一篇:

下一篇:

相关推荐

1 Comment

Comments are closed. Would you like to contact the author directly?
网站地图|XML地图

Copyright © 2015-2024 技术拉近你我! All rights reserved.
闽ICP备15015576号-1 版权所有©psz.