Home >php教程 >php手册 >php中at @符号的作用使用说明

php中at @符号的作用使用说明

WBOY
WBOYOriginal
2016-06-13 10:17:031361browse

相信不少和我一样的php新人在学习PHP的时候和我一样,都郁闷过这个问题。@(at)这个记号到底是做什么的呢?


一次,下载别人的源码来看,看到无数@记号,开始以为是注释;后来发现@后面的语句也是会执行的。纳闷了,这个记号究竟是做什么的呢.....

随着学习的不断深入,总算是明白了。这个记号的作用有点类似于asp中的忽略错误"on error resume next "。他们的作用是一样的,当php解释器遇到@开头的语句时候,无论本行的语句是否执行成功,都会继续执行后续的语句,而且不会报错。但特别注意,@(at)记号只对当前行起作用哦。

 
 
希望关于@(at)的问题就在这打住把。
 

eg.下面这句话肯定报错

报错代码

 代码如下 复制代码

$sql = mysql_connect(*);  
?>  

 

 

然而,如果我们加上@(at)记号,就不会报错了,而且继续执行。

不报错代码

 代码如下 复制代码

@$sql = mysql_connect(*);  
echo "我一直在执行";  
?>  


继续执行下边的代码。

 代码如下 复制代码

 @$page=$_GET['page']?intval($_GET['page']):1;

这句是从URL中获取page关键字的值,比如"index.php?page=5",则$page就会取到5。

但是如果有error,比如"index.php"后没有page关键字了,如果去取$_GET['page']不存在就会报错,这时有@就可以忽视这个小错误了。

又比如:

 代码如下 复制代码

 $conn = mysqli_conncet("q","w","e","r");

这样会输入错误信息,关于连接数据库方面的。

 代码如下 复制代码

 @$conn = mysqli_conncet("q","w","e","r");

如果$conn前面加@的话就可以不让他输出错误信息了。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn