3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array1 = "144|aku|1!!!122|dia|2"; $array2 = "144|aku|1!!!211|dia|1"; $array1 = explode("!!!", $array1); $array2 = explode("!!!", $array2); Foreach($array1 as $val){ List($id, $name, $amount) = explode("|", $val); $result[$id] = ['name' => $name, 'amount' => $amount]; } Foreach($array2 as $val){ List($id, $name, $amount) = explode("|", $val); If(isset($result[$id])){ $result[$id]['amount'] += $amount; }Else{ $result[$id] = ['name' => $name, 'amount' => $amount]; } } Var_dump($result);

preferences:
32.79 ms | 405 KiB | 5 Q