我有两个数组,一个是线性数组,表示将按照排序列出的排序列表,另一个是将要排序的关联数组。如何根据PHP中的线性数组排序关联数组?
在这里,$recommended_props
是排序列表和$prop_array
是我想排序的联想,根据排序列表。排序列表指示属性代码,并且我想根据此代码索引对我的数组进行排序。
我的阵列
//Sorted list of property codes
$recommended_props = [29822, 24785, 45875, 45872];
//Property details and this array will be sorted
$prop_array = [
[
'code' => 24785,
'price' => 120,
'currency' => 'USD',
],
[
'code' => 29822,
'price' => 150,
'currency' => 'USD',
],
[
'code' => 45872,
'price' => 300,
'currency' => 'USD',
],
[
'code' => 45875,
'price' => 250,
'currency' => 'USD',
],
];
而我所需的输出是:
Array
(
[0] => Array
(
[code] => 29822
[price] => 150
[currency] => USD
)
[1] => Array
(
[code] => 24785
[price] => 120
[currency] => USD
)
[2] => Array
(
[code] => 45875
[price] => 250
[currency] => USD
)
[3] => Array
(
[code] => 45872
[price] => 300
[currency] => USD
)
)
我已经做了使用循环这个任务,但我的好奇心是要知道,有没有什么简单的方法做这个工作?
我的代码我用什么:
$sorted_prop = [];
foreach($recommended_props as $code){
foreach($prop_array as $key=>$property){
if($property['code'] == $code){
$sorted_prop[] = $property;
unset($prop_array[$key]);
break;
}
}
}
任何建议将不胜感激。谢谢大家。
谢谢@Mark Baker。我期待着类似这个解决方案。 – MH2K9