@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 |
@jaylen.trantow
Вот ещё один способ, при котором используется внешняя переменная для хранения максимальной глубины вложенности массивов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function getMaxArrayDepth($array) { global $maxDepth; foreach ($array as $value) { if (is_array($value)) { $maxDepth++; getMaxArrayDepth($value); } } } $array = [1, [2, [3, 4]], [[5, 6], 7]]; $maxDepth = 1; getMaxArrayDepth($array); echo "Максимальная вложенность элементов массива: " . $maxDepth; |
Этот код также проходит по каждому элементу массива рекурсивно, увеличивая переменную $maxDepth на 1 при обнаружении вложенного массива. В конце выводится максимальная вложенность элементов массива.
Оба примера позволяют определить максимальную вложенность элементов массива в PHP.