Как узнать максимальную вложенность элементов массива php?

Пользователь

от jaylen.trantow , в категории: PHP , 8 месяцев назад

Как узнать максимальную вложенность элементов массива php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от velma , 8 месяцев назад

@jaylen.trantow 

Чтобы узнать максимальную вложенность элементов массива в PHP, можно использовать рекурсивную функцию. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
function getMaxArrayDepth($array, $depth = 1) {
    $maxDepth = $depth;
    
    foreach ($array as $value) {
        if (is_array($value)) {
            $maxDepth = max($maxDepth, getMaxArrayDepth($value, $depth + 1));
        }
    }
    
    return $maxDepth;
}

$array = [1, [2, [3, 4]], [[5, 6], 7]];

$maxDepth = getMaxArrayDepth($array);
echo "Максимальная вложенность элементов массива: " . $maxDepth;


В этом примере функция getMaxArrayDepth рекурсивно проходит по каждому элементу массива и сравнивает глубину вложенности с максимальной глубиной, хранящейся в переменной $maxDepth. Если текущий элемент является массивом, функция вызывается рекурсивно с этим массивом и глубиной вложенности, увеличенной на 1. Затем функция возвращает максимальную глубину вложенности.


Результат выполнения примера будет следующим:

1
Максимальная вложенность элементов массива: 3