Je veux retourner les 5 premiers éléments d'un tableau. Comment puis-je le faire ?
Réponses
Trop de publicités?array_slice
renvoie une tranche d'un tableau
array_slice($array, 0, 5)
est le code que vous voulez dans votre cas pour retourner les cinq premiers éléments
array_splice - Retirer une partie du tableau et la remplacer par autre chose :
$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)
Extrait du manuel PHP :
array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement]])
Si length est omis, supprime tout ce qui se trouve entre l'offset et la fin du tableau. . Si la longueur est spécifiée et qu'elle est positive, alors autant d'éléments seront supprimés. Si la longueur est spécifiée et qu'elle est négative, alors la fin de la partie retirée sera à ce nombre d'éléments de la fin du tableau. Astuce : pour supprimer tout ce qui se trouve entre le décalage et la fin du tableau lorsque le remplacement est également spécifié, utilisez count($input) pour length .
Si vous voulez seulement sortir les 5 premiers éléments, vous devez écrire quelque chose comme :
<?php
if (!empty ( $an_array ) ) {
$min = min ( count ( $an_array ), 5 );
$i = 0;
foreach ($value in $an_array) {
echo $value;
$i++;
if ($i == $min) break;
}
}
?>
Si vous voulez écrire une fonction qui renvoie une partie du tableau, vous devez utiliser array_slice :
<?php
function GetElements( $an_array, $elements ) {
return array_slice( $an_array, 0, $elements );
}
?>
Une manière plus orientée objet serait de fournir une plage à la méthode #[]. Par exemple :
Disons que vous voulez les 3 premiers éléments d'un tableau.
nombres = [1,2,3,4,5,6]
nombres[0..2] # => [1,2,3]
Disons que vous voulez les x premiers éléments d'un tableau.
nombres [0..x-1]
L'avantage de cette méthode est que si vous demandez plus d'éléments que le tableau n'en contient, elle renvoie simplement le tableau entier.
numbers[0..100] # => [1,2,3,4,5,6]