Здравствуйте, появилась паранойя.
Как надежнее проверять массив с важными данными, на пустоту?
if(!empty($arr)) {
..to do
}
Или же фильтровать массив от пустых значений, затем его проверять на empty:
if(!empty(array_filter($arr))) {
..to do
}
Нужно смотреть что вам нужно, если в масиве будет только один елеммент со значением NULL то empty вернет FALSE.
$array = [NULL];
var_dump(empty($array));
вернет FALSE.
Но в то же время,
$a = NULL;
var_dump(empty($a));
вернет TRUE.
То есть PHP не идет рекурсивно вглубь массива и не проверяет значения массива, если там будут только NULL массив все равно будет считаться непустым.
Твой способ так же плохой для отсеивания NULL, FALSE, '';
Смотри что будет
$arr = [
NULL,
'key' => [
NULL
],
];
var_dump(empty(array_filter($arr)));
будет FALSE. Но наверное тебе нужно TRUE :)
Можно использовать array_walk_recursive, но все зависит от задачи.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости