count() (+/-)
function myCount($array, $include_sub_array = false) {
$count = 0;
if(is_null($array))
return 0;
if(!is_array($array)){
return 1;
}
foreach($array as $array_element) {
if($include_sub_array && is_array($array_element)){
$count += myCount($array_element, true);
} else {
$count++;
}
}
return $count;
}
var_dump(myCount(null)); // 0
$test = [1,2,3,4,5];
var_dump(myCount($test)); // 5
$test[] = [6,7,8,[9,10,11]];
var_dump(myCount($test, false)); // 6
var_dump(myCount($test, true)); // 11
var_dump(myCount([], true)); // 0Единственное, что меня смущает: если подмассив пустой, то нужно ли его считать в качестве элемента текущего массива? Это последний пример вызова функции