1
我想知道是否有人在優化下面的代碼方面有什麼好的想法。我有一個多維數組($列表)如下:優化重新排序和重複刪除多維數組
Array
(
[0] => Array
(
[id] => 1
[title] => A good read
[priority] => 10
)
[1] => Array
(
[id] => 2
[title] => A bad read
[priority] => 20
)
[2] => Array
(
[id] => 3
[title] => A good read
[priority] => 10
)
)
首先,我刪除共享相同的標題(無論什麼其它值),如下所示的條目:
$List_new = array();
foreach ($List as $val) {
$List_new[$val['title']] = $val;
}
$List = array_values($List_new);
完美。然後我重新排序陣列,首先由優先級字段,然後ID:
$sort_id = array();
$sort_priority = array();
foreach ($List as $key => $row) {
$sort_id[$key] = $row['id'];
$sort_priority[$key] = $row['priority'];
}
array_multisort($sort_priority, SORT_DESC, $sort_id, SORT_DESC, $List);
兩個代碼塊出現在一個循環中,$ sort_id和重新排序前$ sort_priority因此結算。
有沒有更好的方法來做到這一點 - 即使用排序過程刪除重複的標題條目?這個代碼塊正在執行循環高達500,000條記錄,所以任何改進都會受到歡迎!