comments
Author: Admin/Publisher |finished | checked
PHP array_chunk
La función de PHP array_chunk se encarga de dividir un array proporcionado en fragmentos o partes, esta dará un nuevo array el cual será el que está fraccionado como retorno.
Description / Descripciónarray_chunk(array $array, int $size, bool $preserve_keys = false): array
Parámetros
$array
– array que proporcionaremos para fragmentar.
$size
– El tamaño que tendrá cada fragmento. Tenga en
$preserve_keys
-este parámetro es opcional, en caso de querer preservar las keys del array proporcionado se puede pasar true en este parámetro.
Retorno
Un array con subarrays que serán sus fragmentos.
Ejemplos de PHP array_chunk
Ejemplo simple de la función array_chunk
Este es un ejemplo con marcas de autos<?php //blastcoding.com example1 php array_chunk $marcasDeAutos = array( "Toyota", "Ford", "Honda", "Chevrolet", "Volkswagen", "BMW", "Mercedes-Benz", "Audi", "Nissan", "Hyundai", "Kia", "Subaru", "Mazda", "Lexus", "Jeep", ); print_r(array_chunk($marcasDeAutos,5));
Array ( [0] => Array ( [0] => Toyota [1] => Ford [2] => Honda [3] => Chevrolet [4] => Volkswagen ) [1] => Array ( [0] => BMW [1] => Mercedes-Benz [2] => Audi [3] => Nissan [4] => Hyundai ) [2] => Array ( [0] => Kia [1] => Subaru [2] => Mazda [3] => Lexus [4] => Jeep ) )
Aplicando array_chunk para una paginación
Este caso es el ejemplo que comentamos//blastcoding.com example2 php array_chunk $usuarios = array( array( 'nombre' => 'Juan Pérez', 'edad' => 25, 'email' => 'juan@example.com', ), array( 'nombre' => 'María Rodríguez', 'edad' => 30, 'email' => 'maria@example.com', ), array( 'nombre' => 'Carlos Sánchez', 'edad' => 22, 'email' => 'carlos@example.com', ), array( 'nombre' => 'Luis González', 'edad' => 28, 'email' => 'luis@example.com', ), array( 'nombre' => 'Ana Martínez', 'edad' => 35, 'email' => 'ana@example.com', ), array( 'nombre' => 'Laura López', 'edad' => 29, 'email' => 'laura@example.com', ), array( 'nombre' => 'Pedro Torres', 'edad' => 27, 'email' => 'pedro@example.com', ), array( 'nombre' => 'Elena Ramírez', 'edad' => 31, 'email' => 'elena@example.com', ), array( 'nombre' => 'Sofía García', 'edad' => 26, 'email' => 'sofia@example.com', ), array( 'nombre' => 'Mario Díaz', 'edad' => 24, 'email' => 'mario@example.com', ), array( 'nombre' => 'Javier Fernández', 'edad' => 33, 'email' => 'javier@example.com', ), array( 'nombre' => 'Isabel Ortega', 'edad' => 23, 'email' => 'isabel@example.com', ), array( 'nombre' => 'Rosa Jiménez', 'edad' => 32, 'email' => 'rosa@example.com', ), array( 'nombre' => 'Diego Silva', 'edad' => 28, 'email' => 'diego@example.com', ), array( 'nombre' => 'Carolina Castro', 'edad' => 34, 'email' => 'carolina@example.com', ), ); print_r(array_chunk($usuarios,5));
Array ( [0] => Array ( [0] => Array ( [nombre] => Juan Pérez [edad] => 25 [email] => juan@example.com ) [1] => Array ( [nombre] => María Rodríguez [edad] => 30 [email] => maria@example.com ) [2] => Array ( [nombre] => Carlos Sánchez [edad] => 22 [email] => carlos@example.com ) [3] => Array ( [nombre] => Luis González [edad] => 28 [email] => luis@example.com ) [4] => Array ( [nombre] => Ana Martínez [edad] => 35 [email] => ana@example.com ) ) [1] => Array ( [0] => Array ( [nombre] => Laura López [edad] => 29 [email] => laura@example.com ) [1] => Array ( [nombre] => Pedro Torres [edad] => 27 [email] => pedro@example.com ) [2] => Array ( [nombre] => Elena Ramírez [edad] => 31 [email] => elena@example.com ) [3] => Array ( [nombre] => Sofía García [edad] => 26 [email] => sofia@example.com ) [4] => Array ( [nombre] => Mario Díaz [edad] => 24 [email] => mario@example.com ) ) [2] => Array ( [0] => Array ( [nombre] => Javier Fernández [edad] => 33 [email] => javier@example.com ) [1] => Array ( [nombre] => Isabel Ortega [edad] => 23 [email] => isabel@example.com ) [2] => Array ( [nombre] => Rosa Jiménez [edad] => 32 [email] => rosa@example.com ) [3] => Array ( [nombre] => Diego Silva [edad] => 28 [email] => diego@example.com ) [4] => Array ( [nombre] => Carolina Castro [edad] => 34 [email] => carolina@example.com ) ) )
Referencia:https://www.php.net/manual/en/function.array-chunk.php
Category: php
Something wrong?
If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
array_chunk
puede ser muy util para usted, aunque no se note tanto. Supongamos que tenemos una consulta a base de datos y queremos hacer una paginacion de lo consultado. No tendria mucho sentido entrar a la base de datos a cada rato para hacer una consulta cada vez que toquemos un numero de la paginacion si el sitio resulta ser muy concurrido y posee consultas por todos lados lo mejor seria obtener una gran consulta de 100 datos y aplicarlearray_chunk
de esa forma no tendremos tantas consultas. El hacer miles de pequeñas consultas puede probocar un Overhead de conexión.