PHP 表达式前加 at 符号 @ 的作用是什么

更新日期: 2020-05-15 阅读次数: 1925 字数: 208 分类: PHP

今天在一段 PHP 代码中看到一个诡异的写法,即在一个变量名的美元符号前加了个 at 符号 @。

官方文档

https://www.php.net/manual/zh/language.operators.errorcontrol.php

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

从官方文档,这段代码的对于 @ 符号的使用是错误的。。。

at 符号的使用场景测试

不加 @ 符号:

$file = file('non_existent_file');
$name = "keyword at in PHP";
echo $name;

执行结果:

> php test.php
PHP Warning:  file(non_existent_file): failed to open stream: No such file or directory in /mnt/d/to_del/test.php on line 3
keyword at in PHP⏎       

加上 @ 符号:

$file = @file('non_existent_file');
$name = "keyword at in PHP";
echo $name;

执行结果:

> php test.php
keyword at in PHP⏎      

爱评论不评论