我有兩個數組,一個是線性數組,表示將按照排序列出的排序列表,另一個是將要排序的關聯數組。如何根據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