3v4l.org

run code in 300+ PHP versions simultaneously
<?php $j[] = 'ma_1_49812_5318.jpg'; $j[] = 'ma_1_49812_5319.jpg'; $j[] = 'ma_1_49813_5320.jpg'; $j[] = 'ma_1_49813_5321.jpg'; $result = []; foreach ($j as $filename) { $groupBy = preg_replace('/_[^_]+$/', '', $filename); if (!isset($ref[$groupBy])) { $ref[$groupBy] = $filename; $result[] = &$ref[$groupBy]; } else { $ref[$groupBy] .= "|$filename"; } } var_export($result);

preferences:
26.69 ms | 405 KiB | 5 Q