Função PHP array_chunk ()

Definição e Uso

o array_chunk() função pega um array como entrada e divide esse array em pedaços menores do dado size. O último pedaço pode conter menos número de elementos do que o passadosize com base no fator de multiplicidade dos números totais disponíveis na matriz.

Sintaxe

array array_chunk ( array $input, int $size [, bool $preserve_keys] );

Parâmetros

Sr. Não Parâmetro e Descrição
1

input (mandatory)

Este é o array de entrada que queremos dividir em pedaços menores. Este é um parâmetro obrigatório.

2

size (mandatory)

O tamanho de cada pedaço que queremos dividir nosso array passado na forma de input. Este é novamente um parâmetro obrigatório.

3

preserve_keys (optional)

Este é um parâmetro opcional e booleano, mas quando é definido como TRUE, todas as chaves do array serão preservadas. Se você não passar, o valor padrão éFALSE que irá reindexar o pedaço numericamente

Valores Retornados

A função PHP array_chunk () retorna uma matriz multidimensional numericamente indexada, começando com zero, com cada dimensão contendo elementos de tamanho.

Versão PHP

Esta função foi introduzida pela primeira vez no PHP versão 4.2.0.

Erros / exceções

Se passou size é menor que 1, então E_WARNING será lançado e NULL retornado.

Exemplo

Vamos tentar um exemplo simples para dividir nosso array em vários pedaços de 2 elementos cada -

<?php
   $input = array('abc', 'bcd', 'cde', 'def', 'efg');
   print_r(array_chunk($input, 2));
?>

Isso produzirá o seguinte resultado, tente observar o índice de cada array menor, ele está começando com zero para todos os três blocos -

Array
(
    [0] => Array
        (
            [0] => abc
            [1] => bcd
        )

    [1] => Array
        (
            [0] => cde
            [1] => def
        )

    [2] => Array
        (
            [0] => efg
        )

)

Exemplo

Vamos tentar o mesmo exemplo mais uma vez, mas desta vez vamos definir o parâmetro preserve_keys para verdadeiro -

<?php
   $input = array('abc', 'bcd', 'cde', 'def', 'efg');
   print_r(array_chunk($input, 2, true));
?>

Isso produzirá o seguinte resultado, desta vez para cada elemento está preservando seu índice como está na matriz original -

Array
(
    [0] => Array
        (
            [0] => abc
            [1] => bcd
        )

    [1] => Array
        (
            [2] => cde
            [3] => def
        )

    [2] => Array
        (
            [4] => efg
        )

)

Exemplo

O exemplo a seguir passa o valor 0 para o parâmetro de tamanho e, portanto, lança uma mensagem de aviso -

<?php
   $input = array('abc', 'bcd', 'cde', 'def', 'efg');
   print_r(array_chunk($input, 0));
?>

Isso produzirá o seguinte resultado -

PHP Warning:  array_chunk(): Size parameter expected to be greater than 0 in main.php on line 3