Как избежать notice?

Есть if(isset($var)){ и с ним всё ок, но стоит написать if($var) как советуют некоторые для простоты и появляется ошибка уровня Notice а если писать сразу if(!empty($var)) так неужели единственный способ избежать предупрждения это каждый раз писать isset() + !empty() ?
  • Вопрос задан
  • 170 просмотров
Решения вопроса 2
@Lag_Prophet
if($var) {}можно писать, если есть уверенность, что переменная $var была выше объявлена.
empty() вроде как нестрого сравнивает с false: тыц. И не генерирует notice, если переменная ранее объявлена не была. Поэтому ее можно использовать вместо isset, если нужно, чтобы переменная существовала и содержала какое-нибудь значение, кроме null, false, 0 или ''. Если нужно просто проверить, объявлена переменная или нет (ну или нужно проверить наличие ключа в массиве), то используем isset().
Ответ написан
KorniloFF
@KorniloFF
Работаю по font-end / JS
if(@$var) {
	echo 'isset $var';
} else echo 'NOTset $var';

Но это не самый правильный подход.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Fortop
Tech/Team lead
$var = null;
echo $varNotSet ?? 'default not set value', PHP_EOL;
echo $var ?? 'default null value', PHP_EOL;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы