Having the following array:
$a = [
"category" => "Music",
"items" => [
["ID" => "1", "start_date" => "2018-11-20", "end_date" => "2018-11-28"],
["ID" => "2", "start_date" => "2018-11-22", "end_date" => "2018-11-28"],
["ID" => "3", "start_date" => "2018-11-26", "end_date" => "2018-11-30"],
["ID" => "4", "start_date" => "2018-11-27", "end_date" => "2018-11-31"],
["ID" => "4", "start_date" => "2018-11-29", "end_date" => "2018-11-31"]
]
];
I would like to 'group' the arrays by end_date
but not using end_date
as key as I saw in other posts or forums, but by adding the value of end_date
as a value of a new key.
So that the expected result would be:
array(
"category" => "Music",
"items" => array(
array(
"date" => "2018-11-28",
array("ID" => "1", "start_date" => "2018-11-20", "end_date" => "2018-11-28"),
array("ID" => "2", "start_date" => "2018-11-22", "end_date" => "2018-11-28"),
),
array(
"date" => "2018-11-30",
array("ID" => "3", "start_date" => "2018-11-26", "end_date" => "2018-11-30")
),
array(
"date" => "2018-11-31",
array("ID" => "4", "start_date" => "2018-11-27", "end_date" => "2018-11-31"),
array("ID" => "4", "start_date" => "2018-11-29", "end_date" => "2018-11-31")
)
)
);