1.php中@符又叫错误抑制符,也就是用来屏蔽错误的。
2.举例如下:
function db_connect()//连接数据库
{
@$db =mysql_connect('localhost','root','test');
//$db =@mysql_connect('localhost','root','test'); //这两种都是一样的
if(!$db)
throw new Exception('连接数据库失败!请重试!');
mysql_select_db('book');
return $db;
}
像这里本来mysql已经被弃用了,如果你不加@符,会报以下错误:
mysql版本已经被弃用
当然报这个错误不影响你功能实现,但是如果你用户名或密码输错了匹配不上,一样是可以屏蔽的,
还有像:
<?
$users = array('apple', 'pear');
$num = @array_push($users, 'john',zz);
参数zz没定义常量,那就是字符串,但是又没打引号会发生解析错误。这里用@符一样可以屏蔽掉。
3.总的来说:@只是掩耳盗铃的做法,它只是隐藏了错误,但没有解决错误。一般是因一个小错误而中止程序执行,
如果觉得那样不好,就可以在出错的前面加个@符,那样程序就可以继续运行了。