Php 添加从现在起1周内的缺失日期

Php 添加从现在起1周内的缺失日期,php,arrays,Php,Arrays,我正在尝试将丢失的日期添加到该数组中,从现在开始1周 这是我的一个示例数组 Array ( [0] => Array ( [date] => 2013-11-25 [members] => 2 ) [1] => Array ( [date] => 2013-11-27 [members] => 1

我正在尝试将丢失的日期添加到该数组中,从现在开始1周

这是我的一个示例数组

Array
(
    [0] => Array
        (
            [date] => 2013-11-25
            [members] => 2
        )

    [1] => Array
        (
            [date] => 2013-11-27
            [members] => 1
        )

)
这里面可能有任何日期。我试过这样的方法,但从逻辑上看它不起作用,但我想不出一个办法

$date_range = array();
            $temp = array();
           for ($i=0; $i<7; $i++)
            {
              $date = date("Y-m-d", strtotime($i." days ago"));

              foreach($new_members as $members) {  

                if(!in_array($date, $members)) {

                $temp['date'] = $date;

                $temp['members'] = 0;

                $new_members[] = array_merge($temp);

              }

              }


            }
$date\u range=array();
$temp=array();
对于($i=0;$i而不是:

$temp['date'] = $date;
$temp['members'] = 0;
$new_members[] = array_merge($temp);
就这样做吧:

$new_members[$i]['date'] = $date;
if ( !$new_members[$i]['members'] ) $new_members[$i]['members'] = 0;

之后,您可以根据
['date']
值对其进行排序,并获得一个漂亮的数组。

Dainis提供的解决方案对我不起作用,它会弄乱成员和日期

以下是我的解决方案:

<?php

$new_members = array ( array("date"=>"2013-11-25", "members" => 2), array("date"=>"2013-11-27", "members" => 2));
for ($i=0; $i<7; $i++)
{
    $date = date("Y-m-d", strtotime($i." days ago"));
    $found = false;
    foreach($new_members as $members) {
        if(array_search($date, $members) !== false) {
            $found = true;
        }
    }
    if(!$found) {
        $new_members[] = array ("date" => $date, "members" => 0);
    }
}

foreach($new_members as $nm) {
    var_dump($nm);
}

?>


这会将它们全部设置为0,但会给我所有的日期。已编辑,但您真的应该重写循环。这有点太乱了。