在PHP中比较API结果和数据库结果

时间:2016-01-25 10:14:40

标签: php arrays multidimensional-array

我正在努力将数据库结果映射到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房间和其他剩余房间。                    有一件事我必须展示其他剩余的结果。                    我该如何解决这个问题。

1 个答案:

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