3v4l.org

run code in 300+ PHP versions simultaneously
<?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