3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [1,2,3 => [4, 5, 6, 7=>[8]]], [1,2,3 => [4, 5, 6, 7=>[8, 9]]] ]; function recursive_count($array, $max_depth=12) { static $stack_depth = 0; $total = 0; foreach($array as $val) { if (is_array($val)) { $stack_depth++; if($max_depth < $stack_depth) { $stack_depth = 0; throw new Exception("Stack level too deep! Stack Limit: $max_depth"); } $total += recursive_count($val, $max_depth); } else { $total++; } } $stack_depth--; return $total; } var_dump(recursive_count($array,2));

preferences:
68.98 ms | 402 KiB | 5 Q