3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = Array ( 0 => Array ( "id" => 17, "drug" => "Clobazam" ), 1 => Array ( "id" => 23, "drug" => "Dexametasona" ), 2 => Array ( "id" => 23, "drug" => "Diiodohidroxiquinoleína" ), 3 => Array ( "id" => 25, "drug" => "Diclofenac,dietilamina" ) ); function collect_same_id(&$data){ $tmp = []; $i = 0; foreach($data as $ind=>$rec){ if(!array_key_exists($rec['id'],$tmp)){ $tmp[$rec['id']] = $i; $i++; } else { $data[$tmp[$rec['id']]]['drug'] .= ', '.$rec['drug']; unset($data[$ind]); } } sort($data); } collect_same_id($data); print_r($data);
Output for 7.1.26 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
Array ( [0] => Array ( [id] => 17 [drug] => Clobazam ) [1] => Array ( [id] => 23 [drug] => Dexametasona, Diiodohidroxiquinoleína ) [2] => Array ( [id] => 25 [drug] => Diclofenac,dietilamina ) )

preferences:
99.67 ms | 408 KiB | 5 Q