Quelle est la meilleure façon d'y parvenir?
Utilisez array_slice ()
Ceci est un exemple tiré de Manuel PHP: array_slice
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"
Il n'y a qu'un petit problème
Si les indices de tableau ont une signification pour vous, rappelez-vous que array_slice
réinitialisera et réordonnera les index de tableau numériques . Vous devez définir le drapeau preserve_keys
sur true
pour éviter cela. (4ème paramètre disponible depuis 5.0.2).
Exemple:
$output = array_slice($input, 2, 3, true);
Sortie:
array([3]=>'c', [4]=>'d', [5]=>'e');
Vous pouvez utiliser array_slice comme:
$sliced_array = array_slice($array,0,$N);
Dans l'ordre actuel? Je dirais array_slice () . Comme il s'agit d'une fonction intégrée, il sera plus rapide que de parcourir le tableau tout en gardant la trace d'un index incrémenté jusqu'à N.
array_slice () est la meilleure chose à essayer, voici les exemples:
<?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));
?>
si vous voulez obtenir les N premiers éléments et aussi le supprimer du tableau, vous pouvez utiliser array_splice()
(notez le 'p' dans "épissure"):
http://docs.php.net/manual/da/function.array-splice.php
utilisez-le comme suit: $array_without_n_elements = array_splice($old_array, 0, N)