2014-03-06 27 views
0

基本上,網站允許用戶選擇日期範圍,然後顯示從該範圍內拉取的數據。如果日期範圍爲7天或更短,則顯示每日信息,如果超過7天,則顯示每週信息。日期範圍是無限的(即,他們可以選擇74天,這應該返回10天7天,並且每週4天)。該數據被上拉爲:PHP - 如果大於7天,將天數陣列轉換爲數週數組

[sales] => Array 
    (
     [2014-02-02] => Array 
      (
       [key1] => 1 
       [key2] => 2 
       [key3] => 3 
      ) 

     [2014-02-03] => Array 
      (
       [key1] => 4 
       [key2] => 5 
       [key3] => 6 
      ) 

     [2014-02-04] => Array 
      (
       [key1] => 7 
       [key2] => 8 
       [key3] => 9 
      ) 

     [2014-02-05] => Array 
      (
       [key1] => 9 
       [key2] => 8 
       [key3] => 7 
      ) 

     [2014-02-06] => Array 
      (
       [key1] => 6 
       [key2] => 5 
       [key3] => 4 
      ) 

     [2014-02-07] => Array 
      (
       [key1] => 3 
       [key2] => 2 
       [key3] => 1 
      ) 

     [2014-02-08] => Array 
      (
       [key1] => 1 
       [key2] => 2 
       [key3] => 3 
      ) 

     [2014-02-09] => Array 
      (
       [key1] => 4 
       [key2] => 5 
       [key3] => 6 
      ) 
    ) 

和需求(超過7天的範圍內組合成最後陣列的任何東西)轉換爲類似:

[sales] => Array 
    (
     [2014-02-02 - 2014-02-08] => Array 
      (
       [key1] => 31 
       [key2] => 32 
       [key3] => 33 
      ) 

     [2014-02-09 - 2014-02-09] => Array 
      (
       [key1] => 4 
       [key2] => 5 
       [key3] => 6 
      ) 
    ) 

編輯: 我明白,這會在某種循環,但無法找出邏輯來獲取鍵和值組合成組的7

if(count($array['sales']) > 7){ 
    //do something here 
} 
+1

這可以通過一個簡單的循環來解決 –

回答

0

這是更好,當你使用Unix時間戳的日期。

if(($time1+(3600*24*7))>$time2) 
{ 
The difference is larger than 7 days 
}