Trozo de matriz
Usando un fragmento de matriz (array_chunk
) podemos dividir fácilmente una matriz en una matriz multidimensional (una matriz de matrices).
La función de fragmento de matriz podría usarse para dividir una matriz en partes más pequeñas, tal vez para que sea más fácil de procesar.
Ejemplo básico
Suponiendo que configuramos una matriz según el ejemplo de código a continuación ($array
en la línea 1), podemos dividir esta matriz en una nueva matriz multidimensional utilizando la array_chunk
función en la línea 9.
Ejecutar este código daría como resultado la matriz multidimensional en la línea 15.
Composición
$chunked_array = array_chunk( $array, $chunk, $preserve_keys );
La array_chunk
función acepta tres parámetros, $array
y $chunk
( $preserve_keys
opcional, falso por defecto). Estos son los siguientes:
- El
$array
parámetro acepta un arreglo, y es el arreglo inicial que deseamos transformar. - El
$chunk
acepta un número entero, y es el número que usamos para dividir el$array
en partes de este valor. - El parámetro opcional
$preserve_keys
acepta un valor booleano y conservará las claves de la matriz sitrue
.
Características y ejemplos específicos
Conservar llaves
Explorando el $preserve_keys
parámetro, nuestro ejemplo anterior inicia el índice de cada matriz anidada en 0. Sin embargo, si tuviéramos que pasar true
a este parámetro, el índice original de la matriz inicial se mantendría intacto:
En la salida, las claves ahora son secuenciales, como lo serían en la matriz original (0, 1, 2, 3…).
Conservar claves cuando la matriz original tiene claves con nombre
Si nuestra matriz original tiene claves con nombre, podemos conservar las claves para mantenerlas en nuestra matriz fragmentada.
El siguiente ejemplo tiene un poco de diversión con esto. Digamos que de alguna manera tenemos una matriz con algunos ID de publicación y nombres de publicación mezclados.
Podríamos usar array_chunk
con el $preserve_keys
parámetro establecido en true
para dividirlos en publicaciones individuales.
Todavía divirtiéndonos con esta matriz, imaginemos cómo podríamos recorrer el $chunked_array
, y generar solo los nombres.
Fragmentación de un arreglo grande para su procesamiento.
Si tenemos una matriz muy grande, podemos usarla array_chunk
para dividirla en partes más pequeñas que luego podríamos almacenar por separado. Veamos cómo podríamos hacer esto en WordPress:
Otras lecturas
Para obtener más información, puede consultar el manual de PHP.