我查看了与此问题相关的stackoverflow的前15个问题,不幸的是,没有一个问题与我的问题相符。
我有两个数组。第一个订单是我需要第二个订单:
Array
(
[1] => name
[2] => value
[3] => cost
[4] => customer
[5] => date
[6] => country
)
我的第二个数组有可能以多种方式之一进行格式化,但这只是一个例子:
Array
(
[country] => US
[customer] => Acme
[date] => 2016-04-08
[name] => Brian
[value] => 0
[cost] => 22
)
我需要对此数组进行排序,使其与排序数组遵循相同的顺序,最终看起来像这样:
Array
(
[name] => Brian
[value] => 0
[cost] => 22
[customer] => Acme
[date] => 2016-04-08
[country] => US
)
对我来说最有意义的帖子是PHP - Sort array elements based on another array's elements :),它通过在第一个排序数组上使用array_flip()
来创建查找表,但是从那里它发生故障并且不起作用我
我该怎么做?
我已经看过帖子,这个问题已被标记为副本,代码对我不起作用。
以下是该示例:
//$x = my incorrectly-sorted array in its entirety
$p = array($columns_list[1], $columns_list[2], $columns_list[3], $columns_list[4], $columns_list[5], $columns_list[6], $columns_list[7], $columns_list[8], $columns_list[9], $columns_list[10]);
$array = array_map(function($x)use($p){
return array_replace(array_flip($p), $x);
}, $array);