3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '[ { "key": "2.1", "value": "11", "quantity": "1" }, { "key": "2.1", "value": "22", "quantity": "1" }, { "key": "2.5", "value": "19", "quantity": "1" } ]'; $array = json_decode($json,true); $final = []; foreach($array as $arr){ $final[$arr['key']]['key'] = $arr['key']; $final[$arr['key']]['value'] = (isset($final[$arr['key']]['value'])) ? $final[$arr['key']]['value'].','. $arr['value'] : $arr['value']; $final[$arr['key']]['quantity'] = (isset($final[$arr['key']]['quantity'])) ? $final[$arr['key']]['quantity']+ $arr['quantity'] : $arr['quantity']; } echo $json = json_encode(array_values($final));

preferences:
36.55 ms | 406 KiB | 5 Q