我正在努力将数据库结果映射到API的结果,以便显示具有最低费率的房间以及阵列中存在的其他独特房间。 我创建了两个多维数组,一个用于我的数据库结果,另一个用于基于API的结果。这样我就可以比较值并显示房间的最低价格,这些价格在API结果和数据库结果以及其他两种方式中都是唯一的 以下是我创建的两个数组
$arr1 = [0] => Array
(
[roomName] => Standard
[ratePlan] => CPAI
[roomRate] => 10000
)
[1] => Array
(
[roomName] => Standard
[ratePlan] => MAP
[roomRate] => 11000
)
$arr2 = [0] => Array
(
[roomName] => Standard
[ratePlan] => CP
[roomRate] => 9000
)
[1] => Array
(
[roomName] => Standard
[ratePlan] => MAP
[roomRate] => 10800
)
我需要根据房间名称显示结果的费率计划和最低费率。为此,我需要比较房间名称,房间计划和房价的上述两个数组。 对于例如在第一个阵列中,标准房间有MAP计划,费率为11000,第二个阵列同一个房间,相同的计划,费率为10800.所以我需要显示10800房间和其他剩余房间。 有一件事我必须展示其他剩余的结果。 我该如何解决这个问题。
答案 0 :(得分:2)
检查以下代码。
<?php
$arr1 = array(
array (
'roomName' => 'Standard',
'ratePlan' => 'CPAI',
'roomRate' => 10000
),
array
(
'roomName' => 'Standard',
'ratePlan' => 'MAP',
'roomRate' => 11000
));
$arr2 = array(
array (
'roomName' => 'Standard',
'ratePlan' => 'CPAI',
'roomRate' => 10000
),
array
(
'roomName' => 'New',
'ratePlan' => 'MAP',
'roomRate' => 10800
));
$data = array_merge($arr1,$arr2);
// Obtain a list of columns
foreach ($data as $key => $row) {
$roomRate[$key] = $row['roomRate'];
}
// Sort the data with roomRate Ascending
// Add $data as the last parameter, to sort by the common key
array_multisort($roomRate, SORT_ASC, $data);
更新所有代码,
// Obtain a list of columns
foreach ($data as $key => $row) {
$roomName[$key] = $row['roomName'];
$ratePlan[$key] = $row['ratePlan'];
$roomRate[$key] = $row['roomRate'];
}
// Add $data as the last parameter, to sort by the common key
array_multisort($roomName,SORT_ASC, $ratePlan, SORT_ASC, $roomRate, SORT_ASC, $data);