3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ "prefix1 foo", "prefix2 bar", "prefix1 aaa", "prefix2 bbb", "prefix3 ccc", "prefix1 111", "prefix2 222" ]; foreach ($array as $v) { [$prefix, $value] = explode(' ', $v, 2); if (isset($batch[$prefix])) { $result[] = $batch; $batch = [$prefix => $value]; } else{ $batch[$prefix] = $value; } } $result[] = $batch; var_export($result);

preferences:
29.51 ms | 402 KiB | 5 Q