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