array_chunk în PHP

Tablouri (array) PHP 4.2+

Împarte un tablou în bucăți mai mici, cu un număr fix de elemente.

Sintaxă
array_chunk(array $array, int $length, bool $preserve_keys = false): array

Ce face array_chunk

array_chunk taie tabloul în grupuri de câte $length elemente. Ultimul grup poate avea mai puține elemente.

Este util pentru afișarea pe rânduri (câte 3 produse pe rând) sau pentru procesarea în loturi (câte 100 de emailuri odată).

Parametri

Parametru Descriere
$array Tabloul împărțit.
$length Numărul de elemente din fiecare bucată. Trebuie să fie cel puțin 1.
$preserve_keys Opțional. true păstrează cheile originale în fiecare bucată.

Ce returnează

Un tablou de tablouri.

Exemple

Exemplul 1: Produse câte 3 pe rând

<?php
$produse = ["Mouse", "Tastatură", "Monitor", "Cablu", "Boxe"];

foreach (array_chunk($produse, 3) as $i => $rand) {
    echo "Rândul " . ($i + 1) . ": " . implode(", ", $rand) . "\n";
}

Rezultat

Rândul 1: Mouse, Tastatură, Monitor
Rândul 2: Cablu, Boxe

Exemplul 2: Păstrarea cheilor

<?php
$stoc = ["mere" => 10, "pere" => 4, "prune" => 7];

print_r(array_chunk($stoc, 2, true));

Rezultat

Array
(
    [0] => Array
        (
            [mere] => 10
            [pere] => 4
        )

    [1] => Array
        (
            [prune] => 7
        )

)

Greșeli frecvente

  • Dai lungimea 0. În PHP 8 primești eroarea ValueError: lungimea trebuie să fie cel puțin 1.

Comenzi înrudite

  • array_slice: Extrage o bucată dintr-un tablou, fără să modifice tabloul original.
  • array_splice: Scoate o bucată dintr-un tablou și, opțional, pune alte elemente în locul ei.
  • str_split: Împarte un text în bucăți de aceeași lungime și le pune într-un tablou.