Level 75
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$result = $collection->groupBy(fn($item) => $item % 2)->reverse()->flatten();
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I want to move filtered items but i'm not comfortable with my codes:
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$evenNumbers = $collection->filter(fn($item) => $item % 2 == 0);
$oddNumbers = $collection->filter(fn($item) => $item % 2 != 0);
$arrangedItems = $evenNumbers->merge($oddNumbers);
dd($arrangedItems);
result:
[
2,
4,
6,
8,
10,
1,
3,
5,
7,
9
]
I want to move even numbers to the top of list and vice versa for odd numbers, I did that but i think we can do better with colletion right ? any one has better idea ?
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$result = $collection->groupBy(fn($item) => $item % 2)->reverse()->flatten();
Please or to participate in this conversation.