原来数组A:
[
["2011-05-01",200],
["2011-06-01",100],
["2011-06-02",100],
["2011-07-01",100],
.....
["2012-05-02",300]
]
填充后数组B
[
["2011-05-01",200],
["2011-05-02",0],
["2011-05-03",0],
....
["2011-06-02",100],
["2011-06-03",0],
....
["2012-05-01",0]
["2012-05-02",300]
]
在A中填入缺少的日期,默认为 [日期,0]亲,来点简单粗暴的方法,太复杂的没意思

解决方案 »

  1.   

    还没有用到php5.4
    你这是 js 数组吧?
      

  2.   

    php 数组 写简单了的 
      

  3.   

    $ar = array(
    '2011-05-01' => 200,
    '2011-06-01' => 100,
    '2011-06-02' => 100,
    '2011-07-01' => 100,
    '2012-05-02' => 300,
    );ksort($ar);$res = array();
    $t = key($ar);
    foreach($ar as $k=>$v) {
      while($k != $t) {
        $res[$t] = 0;
        $t = date('Y-m-d', strtotime("+1 day $t"));
      }
      $res[$k] = $v;
      $t = date('Y-m-d', strtotime("+1 day $t"));
    }
    print_r($res);