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