@做什么?

时间:2013-12-25 07:29:54

标签: php html request

我发现this tutorial正在试用网站编辑器 除了 result.php

中的@之外,我理解了代码中的所有内容

Result.php

<?php 
$myCode = @$_REQUEST["code"];
print $myCode ;
?>  

此外,我尝试将其从代码中删除并且没有任何更改,那么它又做了什么?

2 个答案:

答案 0 :(得分:1)

忽略/抑制错误消息 - 请参阅PHP手册中的Error Control Operators

  

PHP支持一个错误控制操作符:at符号(@)。当在PHP中添加表达式之前,将忽略该表达式可能生成的任何错误消息。

如果您使用set_error_handler()设置了自定义错误处理函数,那么它仍然会被调用,但是这个自定义错误处理程序可以(并且应该)调用error_reporting(),当触发错误的调用在此之前返回0通过@。

因此$myCode = @$_REQUEST["code"];中的任何错误都将被忽略。

答案 1 :(得分:1)

@是PHP错误控制操作符

PHP支持一个错误控制操作符:at符号(@)。当在PHP中添加表达式时,将忽略该表达式可能生成的任何错误消息

<强>参考

http://php.net/manual/en/language.operators.errorcontrol.php

示例

<?php
/* Intentional file error */
$my_file = @file ('non_existent_file') or
    die ("Failed opening file: error was '$php_errormsg'");

// this works for any expression, not just functions:
$value = @$cache[$key];
// will not issue a notice if the index $key doesn't exist.

?>