I need to group my multidimensional array by dates.
For example:
Array
(
[0] => Array
(
[product_id] => 52
[date] => 2017-07-28
)
[1] => Array
(
[product_id] => 53
[date] => 2017-07-30
)
[2] => Array
(
[product_id] => 123
[date] => 2017-07-30
)
)
I need this result:
Array
(
[2017-07-30] => Array
(
[0] => Array
(
[product_id] => 123
[date] => 2017-07-30
)
[1] => Array
(
[product_id] => 53
[date] => 2017-07-30
)
)
[2017-07-28] => Array
(
[product_id] => 52
[date] => 2017-07-28
)
)
This is my coding attempt:
foreach($products as $product){
$array = array($product['date']=>array('pid'=>$product['product_id']));
if(!empty($deliverdates)){
if(in_array($product['date'],array_keys($_SESSION["cartsall"]))){
foreach($deliverdates as $k => $v){
if($product['date'] == $k){
array_push($deliverdates[$k], $array);
}
}
}else{
$deliverdates = array_merge($deliverdates,$array);
}
}else{
$deliverdates = $array;
}
}