通过另一个数组的键对数组进行排序

时间:2011-02-22 19:30:18

标签: php arrays sorting

我需要根据另一个数组中值的顺序对数组进行排序。 简单的例子:

$sort_array = array( 'key1', 'key2' );

$array_that_needs_sorting = array( 'key2' => 'value2', 'key1' => 'value1' );

排序后,数组应为:

array( 'key1' => 'value1', 'key2' => 'value2' );

3 个答案:

答案 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);