P粉1327308392023-08-23 17:06:46
最好的方法是,如果您對建立初始數組有控制權,那麼在新增條目時,只需一開始就設定好。
如果沒有控制權,則建立一個臨時數組進行排序:
foreach ($input_arr as $key => &$entry) { $level_arr[$entry['level']][$key] = $entry; }
這樣可以得到您想要的形式,並且所有引用都在一起。
如果可能的話,一開始就像這樣建立陣列。
P粉9981006482023-08-23 15:20:11
首先,你需要依照等級對它們進行分組
使用foreach循環遍歷數組,檢查等級是否與前一個項目相同,然後將其與該數組分組
$templevel=0; $newkey=0; $grouparr[$templevel]=""; foreach ($items as $key => $val) { if ($templevel==$val['level']){ $grouparr[$templevel][$newkey]=$val; } else { $grouparr[$val['level']][$newkey]=$val; } $newkey++; } print($grouparr);
print($grouparr);的輸出將以你希望的格式顯示
你也可以嘗試
print($grouparr[7]);
將顯示
[7] => Array ( [4] => Array ( [cust] => XT7434 [type] => standard ) )
或
print($grouparr[3]);
將顯示
[3] => Array ( [2] => Array ( [cust] => XT8922 [type] => premier ) [3] => Array ( [cust] => XT8816 [type] => permier ) )