douzhaishan5462 2014-08-05 12:53
浏览 23
已采纳

在PHP中,L值前面的'at'符号是什么意思? [重复]

This question already has an answer here:

Everything I can find refers to the use of the @ symbol as a prefix to an expression, e.g.:

$foo = @bar();

This is not what I'm talking about here. I have a statement which uses the @ symbol as a prefix to an L-value, like:

@$foo = bar();

What does this mean?

(Ideally, please explain the semantics as a de-sugaring of this statement into one that does not use the @ symbol.)

</div>
  • 写回答

1条回答 默认 最新

  • douyu9433 2014-08-05 12:55
    关注

    @ symbol is used to suppress error messages

    PHP supports one error control operator: the at sign (@). When prepended to an expression in PHP, any error messages that might be generated by that expression will be ignored.

    For example;

    The following code doesn't produce any errors on screen;

    <?php
    
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 1);
    
    @$foo = $bar;
    
    echo $foo;
    

    However, without the @ it does;

    Notice: Undefined variable: bar in C:\xampp\htdocs\test\test.php on line 6

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决