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.