1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| $arr = array(
array(1,2,3),
array(
array(4,5,6),
array(7,8),
),
9,
);
function array_recursive_count (array $array, $depth = 10) {
if ($depth == 0) return 0;
$key = array_keys($array);
$size = $count = sizeOf($key);
for ($i=0; $i<$size; $i++) {
if (is_array($array[$key[$i]])) {
$count += array_recursive_count($array[$key[$i]], $depth -1) -1;
}
}
return $count;
}
var_dump( array_recursive_count($arr) ); // 9
var_dump( array_recursive_count($arr, 1) ); // 1
var_dump( array_recursive_count($arr, 2) ); // 4
var_dump( array_recursive_count($arr, 3) ); // 9 |
Partager