¿Obtener los primeros N elementos de una matriz?


Respuestas:


360

Utilice array_slice ()

Este es un ejemplo del manual de PHP: array_slice

$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

Solo hay un pequeño problema

Si los índices de la matriz son significativos para usted, recuerde que array_slicerestablecerá y reordenará los índices numéricos de la matriz. Necesita la preserve_keysbandera establecida truepara evitar esto. (4to parámetro, disponible desde 5.0.2).

Ejemplo:

$output = array_slice($input, 2, 3, true);

Salida:

array([3]=>'c', [4]=>'d', [5]=>'e');


12

En el orden actual? Yo diría array_slice () . Como es una función incorporada, será más rápido que recorrer la matriz mientras realiza un seguimiento de un índice creciente hasta N.


4

array_slice () es lo mejor para probar, los siguientes son los ejemplos:

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // returns "c", "d", and "e"
$output = array_slice($input, -2, 1);  // returns "d"
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.