Очень часто в коде разработчиков встречается конструкция вида:
Аргументация людей, пишущих такой код, заключается в следующем:
можно взять и заменить на:
без потери функциональности. Никаких варнингов при этом не выпадет.
Убедиться в том, что это также работает и с ключами массивов любой вложенности, можете самостоятельно.
На этом тему можно закрывать.
if (isset($var) && !empty($var)) {}
Аргументация людей, пишущих такой код, заключается в следующем:
Теперь откроем официальный мануал поempty
выведетwarning
если переменная$var
не была определена ранее.
empty
и прочтем:
empty()
does not generate a warning if the variable does not exist.
В русском варианте:
empty()
не генерирует предупреждение, если переменная не существует.
Что это значит? Это значит, что все коды вида:
if (isset($var) && !empty($var)) {}
можно взять и заменить на:
if (!empty($var)) {}
без потери функциональности. Никаких варнингов при этом не выпадет.
Убедиться в том, что это также работает и с ключами массивов любой вложенности, можете самостоятельно.
На этом тему можно закрывать.