---
title: "partition() - поділ колекції на дві частини"
url: https://laravelukraine.com/blog/partition-podil-kolekciyi-na-dvi-castini
date: 2026-08-26
---

# partition() - поділ колекції на дві частини

Потрібно поділити користувачів на активних і неактивних?

`partition()` повертає одразу дві групи.

**Різниця з filter():**

* filter() повертає лише truthy
* partition() повертає truthy і falsy одразу

**Сценарії:**

* Валідні / невалідні дані
* Passed / failed
* Approved / pending

Порада: зручно для різних обробок двох груп.

```php
[$active, $inactive] = $users->partition(fn($u) => $u->active);

// Дві різні обробки
$active->each(fn($u) => ...);
$inactive->each(fn($u) => ...);

// Валідація
[$valid, $invalid] = $orders->partition(fn($o) =>
  $o->total > 0 && $o->email !== null
);

// Студенти
[$passed, $failed] = $students->partition(
  fn($s) => $s->score >= 60
);
```
