У меня есть этот массив $allYearData
Теперь я хотел бы разделить его на 12 частей, разделенных по месяцам.
Поэтому я использую PHP preg_grep()
с foreach
цикл для поиска данных.
foreach($allYearData as $key){
$janData[] = preg_grep("/^2015-01-.*$/", $key);
}
Как я могу получить все данные в каждом ключе?
Как вы можете видеть в $janData
я получаю пустые ключи там, где нет хитов. И тогда только дата, если есть хит.
Мне бы хотелось $janData
быть новым массивом с ключом 0, содержащим первый удар и все данные / значения в этом ключе. Как $ allYearData, но только с попаданиями из preg_grep.
$ AllYEarData:
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
)
$ key в foreach — это массив, поэтому выберите дату, на которую вы хотите попасть, и используйте $ key для добавления в массив результатов.
foreach($allYearData as $key){
if (preg_grep("/^2015-01-.*$/", $key['datum']){
$janData[] = $key;
}
}
Других решений пока нет …