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