Если я получаю переменную и не знаю, установлена она или нет, я могу написать
if (isset($a) && $a > 2)
или я могу написать
if (@ $a > 2)
, что короче. Является ли второй синтаксис хорошим или нет?
Функция isset проверяет, существует ли переменная и не является ли она нулевой. Я не совсем уверен, чего вы хотите добиться с помощью && $a.
Оператор @ подавляет сообщения об ошибках, генерируемые выражением, к которому он был добавлен.
Первый подход является правильным подходом. Второй подход очень плохой. вы закончите тем, что ошибки будут подавлены, и вы даже не узнаете. и однажды у вас возникнут ошибки, которые вы не сможете отладить, это такая плохая практика.