Qual è il modo migliore per raggiungere questo obiettivo?
Qual è il modo migliore per raggiungere questo obiettivo?
Risposte:
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_slice
reimposterà e riordinerà gli indici di array numerici . È necessario il preserve_keys
flag impostato true
per 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');
Puoi usare array_slice come:
$sliced_array = array_slice($array,0,$N);
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.
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));
?>
se vuoi ottenere i primi N elementi e rimuoverlo anche dall'array, puoi usare array_splice()
(nota la 'p' in "splice"):
http://docs.php.net/manual/da/function.array-splice.php
usalo così: $array_without_n_elements = array_splice($old_array, 0, N)