使用第二个参数
count
将计算数组中的所有项,包括子数组。这并不是像其他答案那样适用于所有情况的解决方案,并且有一些不清楚的初步假设,但仍然:
// Suppose you have array of your structure
$myArray = [
'1' => ['dates' => []],
'2' => ['dates' => []],
'3' => ['dates' => []],
];
// compare
var_dump(count($myArray), count($myArray, true));
// you see `3` and `6`
// - 3 is count of outer elements
// - 6 is count of all elements
// Now if there're no other keys in subarrays except `dates`
// you can expect that `count` of all elements is __always__
// twice bigger than `count` of outer elements
// When you add some value to `dates`:
$myArray = [
'1' => ['dates' => ['date-1']],
'2' => ['dates' => []],
'3' => ['dates' => []],
];
// compare
var_dump(count($myArray), count($myArray, true));
// you see `3` (outer elements) and `7` (all elements)
// So, you have __not empty__ `dates` when `count` of all elements
// is more than doubled count of outer elements:
$not_empty_dates = 2 * count($myArray) < count($myArray, true);
// Of course if you have other keys in subarrays
// code should be changed accordingly, that's why
// it is not clear solution, but still it can be used