我需要根據數組中的值的順序對數組進行排序。 簡單的例子:按另一個數組的鍵排序數組
$sort_array = array('key1', 'key2');
$array_that_needs_sorting = array('key2' => 'value2', 'key1' => 'value1');
排序後,數組應該是:
array('key1' => 'value1', 'key2' => 'value2');
我需要根據數組中的值的順序對數組進行排序。 簡單的例子:按另一個數組的鍵排序數組
$sort_array = array('key1', 'key2');
$array_that_needs_sorting = array('key2' => 'value2', 'key1' => 'value1');
排序後,數組應該是:
array('key1' => 'value1', 'key2' => 'value2');
你可以看看Sort an Array by keys based on another Array?。它應該給你一個關於如何做到這一點的想法。
array_merge(array_combine($sort_array, array_fill(0, count($sort_array), null))
, $array_that_needs_sorting);
如果你知道$sort_array
鍵都存在需要進行排序的數組中,你可以這樣做:
$sorted = array_merge(array_flip($keys), $unsorted);
其中$keys
爲$sort_array
和$unsorted
是$array_that_needs_sorting
。
這是可惜的,這隻適用於字符串鍵! – 2014-01-28 18:04:59
謝謝,我已經嘗試過該主題中的所有功能,但它沒有工作,因爲我的數組的大小不一致 – Jesse 2011-02-22 20:40:38