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);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 0 => 'ma_1_49812_5318.jpg|ma_1_49812_5319.jpg', 1 => 'ma_1_49813_5320.jpg|ma_1_49813_5321.jpg', )

preferences:
77.53 ms | 1128 KiB | 4 Q