Funzione PHP array_chunk ()
Definizione e utilizzo
Il array_chunk() funzione prende un array come input e divide quell'array in parti più piccole del dato size. L'ultimo blocco può contenere un numero di elementi inferiore a quello passatosize in base al fattore di molteplicità dei numeri totali disponibili nella matrice.
Sintassi
array array_chunk ( array $input, int $size [, bool $preserve_keys] );
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | input (mandatory) Questo è l'array di input che vogliamo inserire in blocchi più piccoli. Questo è un parametro obbligatorio. |
2 | size (mandatory) La dimensione di ogni blocco di cui vogliamo dividere il nostro array passato sotto forma di input. Anche questo è un parametro obbligatorio. |
3 | preserve_keys (optional) Questo è un parametro facoltativo e booleano ma quando è impostato su TRUE, tutte le chiavi nell'array verranno conservate. Se non lo passi, il suo valore predefinito èFALSE che reindicizzerà il blocco numericamente |
Valori restituiti
La funzione array_chunk () di PHP restituisce un array multidimensionale indicizzato numericamente, a partire da zero, con ogni dimensione contenente elementi di dimensione.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione PHP 4.2.0.
Errori / eccezioni
Se superato size è minore di 1, quindi E_WARNING verrà lanciato e NULL verrà restituito.
Esempio
Proviamo un semplice esempio per dividere il nostro array in più blocchi di 2 elementi ciascuno -
<?php
$input = array('abc', 'bcd', 'cde', 'def', 'efg');
print_r(array_chunk($input, 2));
?>
Questo produrrà il seguente risultato, prova ad osservare l'indice di ogni array più piccolo, inizia con zero per tutti e tre i blocchi -
Array
(
[0] => Array
(
[0] => abc
[1] => bcd
)
[1] => Array
(
[0] => cde
[1] => def
)
[2] => Array
(
[0] => efg
)
)
Esempio
Proviamo ancora una volta lo stesso esempio, ma questa volta imposteremo paramter preserve_keys vero -
<?php
$input = array('abc', 'bcd', 'cde', 'def', 'efg');
print_r(array_chunk($input, 2, true));
?>
Questo produrrà il seguente risultato, questa volta perché ogni elemento mantiene il suo indice così come è nell'array originale -
Array
(
[0] => Array
(
[0] => abc
[1] => bcd
)
[1] => Array
(
[2] => cde
[3] => def
)
[2] => Array
(
[4] => efg
)
)
Esempio
L'esempio seguente passa il valore 0 per il parametro size e quindi genera un messaggio di avviso -
<?php
$input = array('abc', 'bcd', 'cde', 'def', 'efg');
print_r(array_chunk($input, 0));
?>
Questo produrrà il seguente risultato:
PHP Warning: array_chunk(): Size parameter expected to be greater than 0 in main.php on line 3