Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама

Статті за тегом «Статистика»

Статті, новини, туторіали та переклади від учасників спільноти

No results.
Tips 25 вересня 2026

countBy() - підрахунок за групами

Потрібно порахувати елементи за категоріями?

countBy() групує та одразу рахує.

Використання:

  • Підрахунок за статусом
  • Групування за категорією
  • Частотний аналіз
  • Статистика

Результат:

Колекція, де ключ - група, значення - кількість.

Порада: викликайте з callback, щоб задати власну логіку групування.

$orders = collect([
  ['status' => 'pending'],
  ['status' => 'completed'],
  ['status' => 'pending'],
  ['status' => 'cancelled'],
  ['status' => 'completed'],
  ['status' => 'completed'],
]);

$counts = $orders->countBy('status');
// ['pending' => 2, 'completed' => 3, 'cancelled' => 1]

// Callback
$users = User::all();

$byAge = $users->countBy(fn($u) => floor($u->age / 10) * 10);
// [20 => X, 30 => Y, 40 => Z]

// Email-домени
$emails = collect([
  'john@gmail.com',
  'jane@yahoo.com',
  'bob@gmail.com',
  'alice@gmail.com',
]);

$domains = $emails->countBy(
  fn($e) => explode('@', $e)[1]
);
// ['gmail.com' => 3, 'yahoo.com' => 1]
// Розподіл за довжиною рядка
$words = collect(['hello', 'world', 'php', 'laravel', 'code']);

$lengths = $words->countBy(fn($word) => strlen($word));

// Статистика для dashboard
public function stats()
{
  $orders = Order::whereDate('created_at', today())->get();

  return [
    'by_status' => $orders->countBy('status'),
    'by_payment' => $orders->countBy('payment_method'),
    'by_hour' => $orders->countBy(
      fn($o) => $o->created_at->hour
    ),
  ];
}

Матеріали за темою «Статистика»: усе, що ми писали про це українською. Нижче - суміжні теми, якщо шукаєте ширше.

Зараз опубліковано 1 матеріал від 1 автора. Останній матеріал - 25 вересня 2026.