Возвращаем массив со всеми данными в ключе

У меня есть этот массив $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
)

-1

Решение

$ key в foreach — это массив, поэтому выберите дату, на которую вы хотите попасть, и используйте $ key для добавления в массив результатов.

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]