Очень часто в коде разработчиков встречается конструкция вида:
Аргументация людей, пишущих такой код, заключается в следующем:
можно взять и заменить на:
без потери функциональности. Никаких варнингов при этом не выпадет.
Убедиться в том, что это также работает и с ключами массивов любой вложенности, можете самостоятельно.
На этом тему можно закрывать.
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)) {}
без потери функциональности. Никаких варнингов при этом не выпадет.
Убедиться в том, что это также работает и с ключами массивов любой вложенности, можете самостоятельно.
На этом тему можно закрывать.