-1

我有这个数组$allYearData
现在我想把它分成 12 个部分,按月分隔。所以我使用带有循环的
PHP来搜索数据。preg_grep()foreach

foreach($allYearData as $key){
    $janData[] = preg_grep("/^2015-01-.*$/", $key);
}

如何获取每个键中的所有数据?
正如你所看到的,$janData我得到没有命中的空键。然后只有命中的日期。

我想$janData成为一个键为 0 的新数组,以包含第一次命中和该键中的所有数据/值。与 $allYearData 类似,但仅限于 preg_grep 的命中。

$allYear 数据:

Array ( 
  [0] => Array ( 
    [id] => 7811
    [objekt_element] => 23050-121-1_3105
    [objekt_nr] => 23050-121-1
    [element_nr] => 3105
    [vart] => B.Avf
    [vem] => Blå
    [anteckn] => 
    [datum] => 2015-09-29 18:00:19
  ) 
  [1] => Array ( 
    [id] => 7812
    [objekt_element] => 23050-121-1_3107
    [objekt_nr] => 23050-121-1
    [element_nr] => 3107
    [vart] => B.Avf
    [vem] => Blå
    [anteckn] =>
    [datum] => 2015-09-29 18:00:22
  )
  [2]...

$janData

Array ( 
  [0] => Array ( )
  [1] => Array ( )
  [2] => Array ( )
  [3] => Array ( )
  [4] => Array ( )
  [5] => Array (
    [datum] => 2015-01-16 04:17:01
  )
  [6] => Array ( 
    [datum] => 2015-01-16 04:16:57 
  )
  [7]

我想填充 $janData

Array ( 
  [0] => Array ( 
    [id] => 7811
    [objekt_element] => 23050-121-1_3105
    [objekt_nr] => 23050-121-1
    [element_nr] => 3105
    [vart] => B.Avf
    [vem] => Blå
    [anteckn] => 
    [datum] => 2015-01-16 18:00:19
  ) 
4

1 回答 1

1

foreach 中的 $key 是数组,因此请选择要点击的日期在哪里,然后使用 $key 添加到结果数组中。

foreach($allYearData as $key){
    if (preg_grep("/^2015-01-.*$/", $key['datum']){     
        $janData[] = $key;
    }
}
于 2015-10-14T08:13:25.120 回答