Символ "В" перед именем переменной в PHP: @$_ POST
Я видел вызовы функций, которым предшествует символ at, чтобы отключать предупреждения. Сегодня я просматривал код и нашел это:
$hn = @$_POST['hn'];
Какая польза от этого?
Ответ 1
@ - это оператор подавления ошибок в PHP.
PHP поддерживает один контроль ошибок оператор: знак at (@). когда добавлено к выражению в PHP, любое сообщения об ошибках, которые могут быть сгенерированы этим выражением будет проигнорировано.
В вашем примере он используется перед именем переменной, чтобы избежать ошибки E_NOTICE. Если в массиве $_POST ключ hn не установлен; он будет вызывать сообщение E_NOTICE, но @ используется там, чтобы избежать этого E_NOTICE.
Обратите внимание, что вы также можете поместить эту строку поверх своего script, чтобы избежать ошибки E_NOTICE:
error_reporting(E_ALL ^ E_NOTICE);
Ответ 2
Он не будет вызывать предупреждение, если $_POST ['hn'] не установлен.
Ответ 3
Все это означает, что если $_POST ['hn'] не определен, то вместо того, чтобы бросать ошибку или предупреждение, PHP просто назначит NULL $hn.
Ответ 4
Он подавляет предупреждения, если $_POST ['something'] не определен.