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

文章目录

    今天在一段 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式