Символ " 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.