3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ 1649 => ["firstName" => "jack", "lastName" => "straw"], 1650 => ["firstName" => "jack", "lastName" => "straw"], 1651 => ["firstName" => "jack", "lastName" => "straw"], 1652 => ["firstName" => "jack", "lastName" => "straw"], 1653 => ["firstName" => "jack1", "lastName" => "straw"], 1654 => ["firstName" => "jack1", "lastName" => "straw"] ]; foreach ($array as $key => &$row) { $compositeKey = $row['firstName'] . '-' . $row['firstName']; if (!isset($ref[$compositeKey])) { $ref[$compositeKey] = &$row; } else { $ref[$compositeKey]['mergedWith'][] = $key; unset($array[$key]); } } var_export($array);

preferences:
73.24 ms | 404 KiB | 5 Q