日期和总价之间的多维数组



我想让PHP数组,这是我的例子。

每个数组的第一行是唯一的记录号"[767962]"

在数组hotel room id第一行之后。
二是酒店名称
第3和第4是第一个价格区间
5 .价格

Array 
( 
    [767962] => Array /// --secial id for price record--//
    ( 
        [0] => 42923 /// --hotelroomid--//
        [1] => Crystal Hotels Kemer Deluxe Resort /// --Hotel Name--//
        [2] => 2013-04-01 /// --Start date--//
        [3] => 2013-05-16 /// --End Date--//
        [4] => 179 /// --Price --//
    ) 
    [767964] => Array 
    ( 
        [0] => 42923 
        [1] => Crystal Hotels Kemer Deluxe Resort 
        [2] => 2013-05-17 
        [3] => 2013-05-26 
        [4] => 239 
    ) 
    [767980] => Array 
    ( 
        [0] => 42940 
        [1] => Rixos Deluxe Resort 
        [2] => 2013-03-02 
        [3] => 2013-05-26 
        [4] => 340 
    ) 
) 

这是预期的输出。

我想知道那个酒店房间2013-05-14 - 2013-05-21的总价

1 , 42923 , Crystal Hotels Kemer Deluxe Resort , 2013-05-14 , 2013-05-21 , 1553
2 , 42940 , Rixos Deluxe Resort                , 2013-05-14 , 2013-05-21 , 2380

例如1553是2013年5月14日至2013年5月21日期间的总价。
2013-05-14 - 179
2013-05-15 - 179
2013-05-16 - 239
2013-05-17 - 239
2013-05-18 - 239
2013-05-19 - 239
2013-05-20 - 239
2013-05-21 - 239

总数为1553

兄弟,我在我的应用程序中做了这种工作,我认为这将对你有很大帮助,但如果出现问题,请让我知道我会改变.......

例如,请参考这个Demo链接;

$room_id = 42923;
$start_date = "2013-05-10 00:00:00";
$end_date = "2013-05-21 00:00:00";

查找上述两个日期之间的日期

        $day = 86400; // Day in seconds  
        $format = 'Y-m-d'; // Output format (see PHP date funciton)  
        $sTime = strtotime($start_date); // Start as time  
        $eTime = strtotime($end_date); // End as time  
        $numDays = round(($eTime - $sTime) / $day) + 1;  
        $days = array();  
        for ($d = 0; $d < $numDays; $d++) {  
            $days[] = date($format, ($sTime + ($d * $day)));  
        } 

现在对于每个日期,你需要检查它属于哪个数组

foreach($days as $key => $d)
{
    foreach($data as $key1 => $dat)
    {
        if($dat[0] == $room_id) {
            if($d >=  $dat[2] && $d<= $dat[3]) {
                $amount += $dat[4];
            }
        }
    }
}
echo $amount;

相关内容

  • 没有找到相关文章