Vamos a repasar la función de PHP array_chunk(), su misión es dividir un array en varios arrays de igual tamaño entre ellos.
Por ejemplo, si tenemos un array con 20 elementos, lo podemos dividir en 4 arrays de 5 elementos. El último array creado puede contener menos elementos de los establecidos en la división (Cuando no es múltiplo de la división).
Sintaxis de PHP array_chunk()
Veamos la sintaxis de esta función de PHP extraída de su web oficial:
1 |
array_chunk(array, longitud, preserve_key); |
Os explico los parámetros:
- array (Obligatorio): Es el array que queremos fraccionar en varios arrays.
- longitud (Obligatorio): El número de elementos que contendrá cada array creado a partir del original.
- preserve_key (Opcional): Con valor true conserva las claves de cada elemento, mientras que con false reindexa y no conserva las claves originales.
Ejemplo de PHP array_chunk()
Con estos ejemplos de array_chunk() vamos a ver cómo se dividen los arrays:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//dividir en otros arrays de 2 elementos de longitud $colores = array("rojo", "azul", "amarillo", "verde", "negro", "blanco"); echo "Array original"; var_export ($colores); echo "Arrays resultantes"; print_r(array_chunk($colores, 2)); //dividir en otros arrays de 4 elementos de longitud $colores = array("rojo", "azul", "amarillo", "verde", "negro", "blanco"); echo "Array original"; var_export ($colores); echo "Arrays resultantes"; print_r(array_chunk($colores, 4)); |
Os explico el primer bloque de código:
- Creamos un array con diferentes valores.
- Muestro su contenido con la función var_export().
- Divido el array en otros arrays con una longitud de 2 elementos y muestro el contenido resultante con la función print_r().
Os explico el segundo bloque de código:
- Creamos un array con diferentes valores.
- Muestro su contenido con la función var_export().
- Divido el array en otros arrays con una longitud de 4 elementos y muestro el contenido resultante con la función print_r().
- Si os fijáis, el último array es de 2 elementos, esto se debe a que al no contener el array elementos suficientes para llegar los 4 predefinidos se queda con los restantes.
Otras funciones para trabajar con arrays
Os recomiendo leer este otro post sobre funciones para trabajar con arrays en PHP.