php - @$_GET 是什么意思?

标签 php mysql

我不明白为什么有人在代码中使用 @,我在 mysql 连接中看到过它,但我不知道它是什么意思..谢谢!

$player_name_orig = @$_GET['player'];
if (!$player_name_orig) {
    die('You must specify a player name');
}

最佳答案

@ 是 error suppression operator .

在这个特定的上下文中,如果 $_GET 中不存在 player 键,这是一种避免 PHP 发出通知的(错误的!)方法:

如果您尝试这样做:

unset($_GET['player']); // to make sure
echo $_GET['player'];

你得到:

Notice: Undefined index: player in F:\dev\www\index.php on line 35

如果你尝试这样做:

unset($_GET['player']); // to make sure
echo @$_GET['player'];

没有输出。

正确的做法:

if (empty($_GET['player']) {
    die('You must specify a player name');
}  

关于php - @$_GET 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5874846/

相关文章:

php - PHP 中基于模块的系统 - 如何?

MySQL复杂的第n行选择

mysql - 表行的惰性删除

MySql 按同一个表中的多个条目进行过滤

php - 如何从列中选择所有行具有不同的值 "Select All or both"

php - Symfony2 动态注销目标?

php - 在 PHP 中通过 CURL 的 Google Sites API - 获取 "Content is not allowed in prolog."

java - Morphia 中类似 Mysql 的日期函数

php - 如何将链接 (<a>) 中的一些信息(值)发送到另一个页面?

php - 如何在不使用 create_function 的情况下重写示例?