@ $ _ GET是什么意思?

And*_*ara 0 php mysql

我不明白为什么有人在代码中使用@,我已经看到它与mysql连接,但我不知道这意味着什么..谢谢!

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

Jon*_*Jon 13

@是错误抑制运算符.

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

如果你试试这个:

unset($_GET['player']); // to make sure
echo $_GET['player'];
Run Code Online (Sandbox Code Playgroud)

你得到:

注意:未定义的索引:第35行的F:\ dev\www\index.php中的播放器

如果你试试这个:

unset($_GET['player']); // to make sure
echo @$_GET['player'];
Run Code Online (Sandbox Code Playgroud)

没有输出.

正确的方法:

if (empty($_GET['player']) {
    die('You must specify a player name');
}  
Run Code Online (Sandbox Code Playgroud)