La función array_chunk() es una función incorporada en PHP que se usa para dividir una array en partes o fragmentos de un tamaño dado, según los parámetros que se pasan a la función. El último fragmento puede contener menos elementos que el tamaño deseado del fragmento.
Sintaxis:
array array_chunk( $array, $size, $preserve_keys )
Parámetros: Esta función acepta tres parámetros como se muestra en la sintaxis anterior. Los parámetros se describen a continuación:
- $array: este parámetro representa la array que se necesita dividir en fragmentos.
- $tamaño: este parámetro es un número entero que define el tamaño de los fragmentos que se crearán.
- $preserve_keys: este parámetro toma valor booleano. Cuando este parámetro se establece en TRUE , las claves se conservan; de lo contrario, el fragmento se reindexa a partir de 0.
Valor de retorno: esta función devuelve una array multidimensional indexada a partir de 0. Cada fragmento contiene una cantidad de elementos de $tamaño , excepto el último fragmento que puede contener una cantidad menor de elementos.
Ejemplos:
Input : $input_array = array('a', 'b', 'c', 'd', 'e'); array_chunk($input_array, 2); Output : Array( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e ) ) Input : $input_array = array('a', 'b', 'c', 'd', 'e'); array_chunk($input_array, 2, true) Output : Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [2] => c [3] => d ) [2] => Array ( [4] => e ) )
En el primer ejemplo, se devuelve una array multidimensional en la que cada fragmento contiene 2 elementos. En el segundo ejemplo, dado que el tercer argumento se pasa como verdadero, el índice de elementos en cada fragmento es el mismo que su índice en la array original a partir de la cual se crea el fragmento. En este caso, cada fragmento contiene 2 elementos que son el valor de tamaño pasado a la función.
Los siguientes programas ilustran la función array_chunk() en PHP:
Programa 1:
<?php $input_array = array('a', 'b', 'c', 'd', 'e'); print_r(array_chunk($input_array, 2)); ?>
Producción:
Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e ) )
Programa 2:
<?php $input_array = array('a', 'b', 'c', 'd', 'e'); print_r(array_chunk($input_array, 2, true)); ?>
Producción:
Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [2] => c [3] => d ) [2] => Array ( [4] => e ) )
Referencia: http://php.net/manual/en/function.array-chunk.php