<?php
$products = array(
array('idproduct' => 1, 'amount' => 5),
array('idproduct' => 2, 'amount' => 10),
array('idproduct' => 3, 'amount' => 11),
array('idproduct' => 4, 'amount' => 5)
);
addOrOverride($products, array('idproduct' => 4, 'amount' => 5));
function addOrOverride(&$arr, $newItem) {
$filtered = array_filter($arr, function($item) use($newItem) {
return $item['idproduct'] == $newItem['idproduct'];
});
if(count($filtered) > 0) {
$key = key($filtered);
$arr[$key] = array_merge($arr[$key], $newItem);
} else {
$arr[] = $newItem;
}
}
preferences:
38.57 ms | 402 KiB | 5 Q