PHP - 如果大于7天,将天数转换为数周的数组

时间:2014-03-06 14:17:17

标签: php arrays

基本上,该网站允许用户选择日期范围,然后显示从该范围拉出的数据。如果日期范围为7天或更短时间显示每日信息,则需要建立,如果超过7天,则需要建立每周信息。日期范围是无限的(即,他们可以选择74天,这应该返回10天7天,一周4天)。数据被拉为:

[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 :(得分:0)

使用unix时间戳作为日期时效果会更好。

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