今天在一段 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⏎
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式