Quelle est la meilleure façon d'y parvenir ?
Réponses
Trop de publicités?Utilice array_slice()
Voici un exemple tiré du Manuel PHP : array_slice
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"
Il y a seulement un petit problème
Si les indices de tableau sont significatifs pour vous, rappelez-vous que array_slice
va réinitialiser et réorganiser les numérique les indices des tableaux. Vous avez besoin des preserve_keys
réglé 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, elle sera plus rapide que de parcourir le tableau en boucle tout en gardant la trace d'un index incrémentiel 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 pour le retirer du tableau, vous pouvez utiliser array_splice()
(notez le "p" dans "splice") :
http://docs.php.net/manual/da/function.array-splice.php
utilisez-le comme ça : $array_without_n_elements = array_splice($old_array, 0, N)
9 votes
Si vous avez besoin de trouver une fonction pour faire quelque chose avec un tableau, allez ici : php.net/manual/fr/function.array.php et regardez les fonctions.
28 votes
Plutôt que de venir chez SO !