PHP是否有能力按照由另一個數組(B)定義的順序對項目數組(A)進行排序?例如。在首先出現在B中的項目決定哪些項目應該先整理A.當按其他數組定義的順序對數組排序
$order_to_sort_by = array("Gold", "Silver", "Bronze");
$items_to_sort = array("Bronze", "Silver", "Bronze", "Gold", "Bronze", "Silver");
some_sort_function($items_to_sort, $order_to_sort_by);
結果:
Gold
Silver
Silver
Bronze
Bronze
Bronze
編輯:有人建議重複似乎用另一個數組的鍵來確定應使用數組中的哪些鍵進行排序。有點不清楚,但我不認爲它是重複的。
http://php.net/manual/en/function.usort.php – WheatBeak
的可能的複製(http://stackoverflow.com/ [排序由基於另一陣列密鑰數組?]問題/ 348410 /基於數組的按鍵排序) – CodeGodie
我看過那篇文章,但並不完全明白他在做什麼。這似乎有點不同。我想過將A中的值轉換爲B中相應項的鍵(索引)值,然後進行排序,然後再回傳。我永遠不會有超過幾百個項目,所以性能不是關鍵問題。 – forthrin