Абсолютно согласен, к тому и веду, что использовать, если понимаешь как работает. Благодарю за хороший пример, empty('0') выглядит как недоработка языка, о которой не стоит забывать
Про empty не согласен с резкостью заявления.
Использовать можно, главное понимать зачем и как это работает.
Empty помогает сократить написание, ибо сразу на существование и непустое значение проверить можно. Внимание, нужно помнить про false, 0, ибо empty(false), empty(0) вернёт true, особенно помнить про 0).
Например, если нужно и на false, и на null сразу проверить, чтобы дважды не писать, можно в empty обернуть, или с пустым и неопределённым массивом/объектом также. Одна проверка вместо двух.
Зачем писать isset($arr) && count($arr) > 0, если можно написать !empty($arr).
Аналогично вместо isset($bool) && $bool === true можно !empty($bool)
Вывод: используйте, если понимаете, как это работает
Использовать можно, главное понимать зачем и как это работает.
Empty помогает сократить написание, ибо сразу на существование и непустое значение проверить можно. Внимание, нужно помнить про false, 0, ибо empty(false), empty(0) вернёт true, особенно помнить про 0).
Например, если нужно и на false, и на null сразу проверить, чтобы дважды не писать, можно в empty обернуть, или с пустым и неопределённым массивом/объектом также. Одна проверка вместо двух.
Зачем писать isset($arr) && count($arr) > 0, если можно написать !empty($arr).
Аналогично вместо isset($bool) && $bool === true можно !empty($bool)
Вывод: используйте, если понимаете, как это работает