如何在php上保存从mysql读取的日期数组?

时间:2016-10-02 04:10:30

标签: php mysql

我有以下代码保存将数据保存为下一年的数组,$ info从sql中读取:

$saved = []
for ($x = 0; $x <= 365; $x++) {
    $d=strtotime("+$x days");
    $cd = date("Y-m-d", $d);
    foreach($info as $i){
        if($i['date'] == $cd){  
            $saved[$cd] = $i;
        }
    }
}

它可以工作,但是当我有许多相同日期的数据时它会覆盖它,我怎样才能区分它而不会破坏

的结构

2 个答案:

答案 0 :(得分:1)

试试这个:

$saved = []
for ($x = 0; $x <= 365; $x++) {
    $d=strtotime("+$x days");
    $cd = date("Y-m-d", $d);
    foreach($info as $i){
        if($i['date'] == $cd){  
            $saved[$cd][] = $i;
        }
    }
}

正在推送$ saved [$ cd]。那样$ saved ['2016-10-03']如果只有一个,你会得到1个结果,如果有N个结果,你会得到N个数组。

答案 1 :(得分:0)

试试这个

$saved = array();
$dates = array();
// separate array, make array for dates
for ($x = 0; $x <= 365; $x++) {
  $d=strtotime("+$x days");
  $cd = date("Y-m-d", $d);
  $dates[$cd] = $cd;
}

foreach($info as $i){
  if(isset($dates[$i['date'])) {
        $saved[$i['date']][] = $i;
    }
}