我需要根据另一个数组中值的顺序对数组进行排序。 简单的例子:
$sort_array = array( 'key1', 'key2' );
$array_that_needs_sorting = array( 'key2' => 'value2', 'key1' => 'value1' );
排序后,数组应为:
array( 'key1' => 'value1', 'key2' => 'value2' );
答案 0 :(得分:3)
如果您知道数组中存在$sort_array
个键需要排序,您可以这样做:
$sorted = array_merge(array_flip($keys), $unsorted);
其中$keys
为$sort_array
而$unsorted
为$array_that_needs_sorting
。
答案 1 :(得分:0)
您可以查看Sort an Array by keys based on another Array?。它应该让你知道如何实现这一目标。
答案 2 :(得分:0)
array_merge(array_combine($sort_array, array_fill(0, count($sort_array), null))
, $array_that_needs_sorting);