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

.
Blade
The Frontend-Warrior
# Jahak (14.10.2015 / 13:28)
неправильно подсчитывается рекурсивный массив.
ага, на таких массивах не смотрел, как считает. Вот пофиксенная функция

тыц (+/-)
function myCount($array, $include_sub_array = false) {
    if(is_null($array))
        return 0;

    if(!is_array($array))
        return 1;

    $count = 0;

    foreach($array as $array_element) {
        $count++;
        if(is_array($array_element) && $include_sub_array)
            $count += myCount($array_element, true);
    }

    return $count;
}

ну и тест
тест (+/-)
$array = [
    [],
    [[]],
    [[[]]],
    [[[[]]]],
    [[[[[]]]]],
    [[[[[[]]]]]],
    'a' => [
        'b' => 'c',
        'd' => 'e'
    ],
    'b' => [
        'f' => 'g',
        'h' => 'i'
    ]
];

var_dump(myCount($array, true), count($array, COUNT_RECURSIVE));