开发者社区 问答 正文

请问$a=@$_GET["a"]; 中的“@”有什么作用

screenshot
第二行中 $a=@$_GET["a"]; 中的“@”有什么作用?

书上写的是可以防止a的值为空时产生一个警告提示

具体是什么警告提示呢?

为啥我不加@也没有警告啊?

展开
收起
吴孟桥 2016-06-06 18:07:31 7443 分享 版权
1 条回答
写回答
取消 提交回答
  • 在楼主的代码中, $a=@$_GET["a"]; 其中的 @ 是为了防止没有 $_GET['a']出现错误提示.

    但是 @ 的代价过高, 一般都用 isset() 来判断一下.

    比较通俗的写法是:

    if (isset($_GET['a'] ))
    {
        $a = $_GET['a'] ;
    }else
    {
        $a = null;
    }

    比较简洁的写法是.

    $a = isset($_GET['a']) ? $_GET['a']  : null ;
    2019-07-17 19:29:11
    赞同 1 展开评论
问答地址: