What is the difference between @$_POST vs $_POST…?
在刷新浏览器后,我正在寻找不同的方法将用户的输入保存到表单中,我遇到了以下问题:
1 | value="<?php echo @$_POST['blah'];?>"> |
我也看到了如下情况:
1 | value="<?php echo $_POST['blah'];?>"> |
他们似乎都做了同样的事情。在$u post数组前面加上@符号的意义是什么?一种方式比另一种方式更受欢迎吗?
在这种情况下,如果"blah"没有在$u post数组中定义,则第一个表单(带有@)不会生成通知,而第二个表单将生成通知。
至于什么是首选,根据我的经验,
Warning: Currently the"@" error-control operator prefix will even disable error reporting for critical errors that will terminate script execution. Among other things, this means that if you use"@" to suppress errors from a certain function and either it isn't available or has been mistyped, the script will die right there with no indication as to why.
tl;dr:它抑制错误,通常不鼓励错误发生,除非你有充分的理由这样做。最好是积极主动。
在php中,当放置@is以防止显示该部分代码中的系统错误时。