Как из одного массива собрать другой массив php
Имеется массив вида
Array
(
[0] => 2022-5
[1] => 2022-6
[2] => 2022-7
)
Array
(
[2022] =>
Array (
[0] => 5
[1] => 6
[2] => 7
)
)
Ответы (2 шт):
Автор решения: Red
→ Ссылка
Используйте многомерные массивы. В массив можно вложить другой массив.
$array[2022]= array2;
Автор решения: USSRCoder
→ Ссылка
//Исходный массив
$src = Array("2022-5","2022-6","2022-7");
//результирующий массив
$new_array = Array();
//пройтись по всем элементам исходного массива
foreach ($src as $key=>$val) {
// разделить xxxx-xx, на две части. используя в кач. разделителя -
// https://www.php.net/manual/ru/function.explode.php
$v = explode("-",$val); // $v[0] - год, $v[1] = месяц
//только уникальные месяцы? Можно удалить, если не нужно
if (!in_array($v[1], $new_array[$v[0]]) ) {
// для добавления нового элемента в массив, можно использовать
// []; например $x[] = 10 - добавит в конец массива $x 10
$new_array[$v[0]][] = $v[1]; // добавление в новый массив
}
}
print_r($new_array);