нет, в данном случае isset вернула true при пустоте существующей переменной --- Добавлено --- там же понятно, что перечень определения пустоты я дал Вам для первого варианта из Вашего примера
сударь, вы въеаврпвап говна? PHP: <?php $var = 0; // Проверка вернет TRUE, поэтому текст будет напечатан. if (isset($var)) { echo "Эта переменная определена, поэтому меня и напечатали."; } https://php.net/manual/ru/function.isset.php#example-6183
Хватит уже агриться. Он тебе дело говорит. Проверять инпуты через фильтр инпут, в общем-то правильно. Даже если ты привык иначе. Использовать !empty в подавляющем большинстве случаев правильно, если только пустое значение для нас тоже не значимо. В js мы можем просто бомбануть if(var), и если var не объявлена, получить false. В php так нельзя. Мы получим нотис за обращение к необъявленной переменной. И тут либо городить (isset($var) && ($var)), либо просто !empty.
На здоровье. Я, в последнее время, кстати, вообще ушел от isset и empty в условиях. Все больше использую js-стиль: PHP: if ($var ?? false){ } Или PHP: foreach($array ?? [] as $key=>$val){ } Избавляет код от нагромождения проверок избыточных.
@Fell-x27 хороший синтаксис.. теперь и я буду так делать)) почему то не додумался)) так то делал.. PHP: $var = $var ?? false а так как Вы, прямо в foreach нет))
А дело вкуса, на самом деле. Ну и здравого смысла. Если переменная используется в нескольких местах, то, конечно, лучше один раз ее так прогнать. Еще я так люблю GET/POST-ы считывать. PHP: $var = $_GET['var'] ?? false; Хотя тут, конечно, лучше фильтры юзать. Они и проверят и в порядок приведут все. Но, порой, лень их городить ради одного-двух значений целочисленных, которые интвалом можно провернуть. И да, чего-то я вдруг "Вы" стал? О_о Брось ты это. Ладно, если б первый раз в жизни меня в треде встретил, типа вежливость, все такое, ну а так... Все свои ж.