3v4l.org

run code in 300+ PHP versions simultaneously
<?php function array_group(array $arr1, callable $compare): array { $groups = []; $group = []; $prev = NULL; foreach ($arr1 as $value) { if ($group && !$compare($prev, $value)) { $groups[] = $group; $group = []; } $group[] = $value; $prev = $value; } if ($group) { $groups[] = $group; } return $groups; } $arr1 = array(1,2,2,3,1,2,0,4,5,2); $compare = fn ($a, $b) => $a <= $b; print_r(array_group($arr1, $compare));

preferences:
24.24 ms | 404 KiB | 5 Q