3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [ 'id' => 1, 'email_id' => 'ok@gmail.com', 'password' => 'test' ], [ 'id' => 2, 'email_id' => 'check@gmail.com', 'password' => 'test' ], [ 'id' => 3, 'email_id' => 'an@gmail.com', 'password' => 'pass' ] ]; $result = []; foreach ($array as $row) { if (!isset($result[$row['password']])) { $result[$row['password']] = $row; } else { if (isset($result[$row['password']]['id'])) { $result[$row['password']] = [$result[$row['password']]]; } $result[$row['password']][] = $row; } } var_export(array_values($result));

preferences:
26.71 ms | 405 KiB | 5 Q