Просмотр поста

.
Blade
The Frontend-Warrior

собна рабочая версия:

myCount() (+/-)

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)) {
          $sub_count = myCount($array_element, true);

          if($sub_count != 0) {
            $count += $sub_count;
          } else {  
            $count++;
          }

        } 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
var_dump(myCount([[],[],[]])); // 3
var_dump(myCount([[],[],[]], true)); // 3