Ottieni i primi N elementi di un array?


Risposte:


360

Usa array_slice ()

Questo è un esempio del manuale di PHP: array_slice

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

C'è solo un piccolo problema

Se gli indici di array sono significativi per te, ricorda che array_slicereimposterà e riordinerà gli indici di array numerici . È necessario il preserve_keysflag impostato trueper evitare questo. (4 ° parametro, disponibile dalla 5.0.2).

Esempio:

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

Produzione:

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


12

Nell'ordine corrente? Direi array_slice () . Dal momento che è una funzione integrata, sarà più veloce del ciclo attraverso l'array, tenendo traccia di un indice incrementale fino a N.


4

array_slice () è la cosa migliore da provare, di seguito sono riportati gli esempi:

<?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));
?>

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.