<?php
$menu = [
[
'navigationMenuId' => '1',
'subNavigationItems' => [],
],
[
'navigationMenuId' => '2',
'subNavigationItems' => [],
],
[
'navigationMenuId' => '3',
'subNavigationItems' => [
4 => [
'navigationMenuId' => '4',
'subNavigationItems' => [],
],
5 => [
'navigationMenuId' => '5',
'subNavigationItems' => [],
],
6 => [
'navigationMenuId' => '6',
'subNavigationItems' => [],
],
7 => [
'navigationMenuId' => '7',
'subNavigationItems' => [],
],
],
],
[
'navigationMenuId' => '8',
'subNavigationItems' => [],
],
[
'navigationMenuId' => '9',
'subNavigationItems' => [
10 => [
'navigationMenuId' => '10',
'subNavigationItems' => [],
],
11 => [
'navigationMenuId' => '11',
'subNavigationItems' => [],
],
12 => [
'navigationMenuId' => '12',
'subNavigationItems' => [],
],
],
],
[
'navigationMenuId' => '13',
'subNavigationItems' => [],
],
];
function reindexChildren(array $array): array {
foreach ($array as &$item) {
if ($item['subNavigationItems']) {
$item = reindexChildren($item['subNavigationItems']);
}
}
return array_values($array);
}
var_export(
reindexChildren($menu)
);
preferences:
24.16 ms | 405 KiB | 5 Q