我在尋找,但我沒有找到我所需要的。將值插入到動態生成的多維數組中
來源結構是動態的,從MySQL數據庫生成菜單陣列結構:
array (
2 => array (
'title' => 'item',
'children' => array (
10 => array (
'title' => 'item',
'children' => array (
14 => array (
'title' => 'item',
),
15 => array (
'title' => 'item',
),
16 => array (
'title' => 'item',
'children' => array (
23 => array (
'title' => 'item',
),
24 => array (
'title' => 'item',
),
),
),
17 => array (
'title' => 'item',
'children' => array (
20 => array (
'title' => 'item',
),
),
),
18 => array (
'title' => 'item',
),
19 => array (
'title' => 'item',
),
32 => array (
'title' => 'item',
'children' => array (
33 => array (
'title' => 'item',
),
),
),
59 => array (
'title' => 'item',
),
60 => array (
'title' => 'item',
'children' => array (
61 => array (
'title' => 'item',
),
62 => array (
'title' => 'item',
),
),
),
67 => array (
'title' => 'item',
),
),
),
12 => array (
'title' => 'item',
),
13 => array (
'title' => 'item',
),
),
),
)
我需要通過的所有記錄,並根據需要對當前地方在foreach實際上是增加新的價值。現在我可以使用此功能查看記錄以進行記錄:
function categorize($menu, $level = 0)
{
foreach ($menu as $key => &$data)
{
if (isset ($data['children']))
{
categorize($data['children'], ($level + 1));
}
}
}
但是不知道如何將新值添加到正確的位置。 輸出必須是這樣的:
array (
2 => array (
'level' => 0,
'first-item' => true,
'title' => 'item',
'children' => array (
10 => array (
'level' => 1,
'first-item' => true,
'title' => 'item',
'children' => array (
14 => array (
'level' => 2,
'first-item' => true,
'title' => 'item',
),
15 => array (
'level' => 2,
'title' => 'item',
),
16 => array (
'level' => 2,
'title' => 'item',
'children' => array (
23 => array (
'level' => 3,
'first-item' => true,
'title' => 'item',
),
24 => array (
'level' => 3,
'title' => 'item',
),
),
),
17 => array (
'level' => 2,
'title' => 'item',
'children' => array (
20 => array (
'level' => 3,
'title' => 'item',
),
),
),
18 => array (
'level' => 2,
'title' => 'item',
),
19 => array (
'level' => 2,
'title' => 'item',
), ....
謝謝您的幫助
您是否使用直PHP或用像Laravel這樣的框架? – kerrin
我使用直接的PHP。 – netoper