Je veux retourner les 5 premiers éléments du tableau. Comment puis-je faire ceci?Renvoyer d'abord x éléments du tableau
Répondre
array_slice
retourne une tranche d'un tableau
$sliced_array = array_slice($array, 0, 5)
est le code que vous voulez dans votre cas revenir les cinq premiers éléments
mais cela ne fonctionnera pas avec les tableaux associatifs. les clés se perdent. – ESCOBAR
@ESCOBAR: les tableaux associatifs n'ont pas nécessairement d'ordre, ils ne mappent que les clés aux valeurs; donc "les valeurs 3 à 7" n'ont pas vraiment de sens quand même ... – knittl
à droite, mais dans ce cas c'est sans lien avec la commande. il s'agit juste des 5 premiers articles. et vous ne pouvez pas utiliser array_slice ici. – ESCOBAR
array_splice - Retirez une partie du tableau et le remplacer par quelque chose d'autre:
$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)
De manuel PHP:
array array_splice (array &$input , int $offset [, int $length = 0 [, mixed $replacement]])
Si longueur est omis, supprime tout de l'offset vers la fin du tableau. Si la longueur est spécifiée et positive, alors beaucoup d'éléments seront supprimés. Si la longueur est spécifiée et négative, la fin de la partie supprimée sera composée de nombreux éléments à partir de la fin du tableau. Astuce: pour supprimer tout ce qui est de l'offset à la fin du tableau lorsque le remplacement est également spécifié, utilisez count ($ input) pour la longueur.
la syntaxe pour retourner les 5 premiers éléments est array_splice ($ input, 5) – aland
Merci, fixe maintenant. –
@AndrejsCainikovs Selon php.net, "Si length est omis, alors la séquence aura tout depuis offset jusqu'à la fin du tableau." Le texte en gras de la réponse indique exactement le contraire. – Kalko
Si vous voulez juste pour sortir les 5 premiers éléments, vous devriez é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);
}
?>
Vous pouvez utiliser la fonction array_slice, mais utiliserez-vous d'autres valeurs? ou seulement les 5 premiers? car si vous n'utilisez que les 5 premiers, vous pouvez utiliser la LIMIT sur SQL.
Une méthode plus orientée objet serait de fournir une plage à la méthode # []. Par exemple:
Dites que vous voulez les 3 premiers éléments d'un tableau.
numéros = [1,2,3,4,5,6]
nombres [0..2] # => [1,2,3]
Dites que vous voulez le premier x éléments d'un tableau.
numéros [0..X-1]
La grande chose au sujet de cette méthode est que si vous demandez plus d'éléments que le tableau a, il retourne simplement le tableau entier.
nombres [0..100] # => [1,2,3,4,5,6]
Mais php ne prend pas en charge les plages. Êtes-vous sûr de ne pas parler de rubis ou de quelque chose comme ça? –
"Une manière plus orientée objet"? Cette réponse n'a rien à voir avec la programmation orientée objet. – Ducky
- 1. Désérialiser uniquement les premiers éléments x d'un tableau
- 2. C: struct copie/éléments du tableau
- 3. éléments du tableau en mouvement autour
- 4. Accès éléments du tableau dans Jquery
- 5. Renvoyer un tableau en recherchant des bits?
- 6. Renvoyer des éléments FormCollection avec le préfixe
- 7. Une méthode Ruby peut-elle produire un itérateur ou renvoyer un tableau en fonction du contexte?
- 8. PowerShell Ajouter un membre aux éléments du tableau
- 9. accéder aux éléments du tableau speicific avec jquery
- 10. Recherche récursive PHP et remplacement des éléments du tableau
- 11. LINQ pour les requêtes LIKE des éléments du tableau
- 12. Renvoyer un tableau C vers Java en utilisant JNA
- 13. tableaux Javascript - tableau enlever les éléments
- 14. Trouver les éléments d'un tableau basé sur la somme minimale
- 15. Utilisation d'expressions lambda pour obtenir un sous-ensemble où les éléments du tableau sont égaux
- 16. obtenir seulement 5 éléments de tableau
- 17. comptage répété des éléments dans un tableau
- 18. Interroger plusieurs tables et renvoyer uniquement un seul tableau?
- 19. Algorithme: déplacement à travers tous les éléments du tableau avec une contrainte de déplacement limitée
- 20. Initialisation du tableau en F #
- 21. Comment puis-je récupérer les derniers éléments x dans Django
- 22. Cibler tous les éléments x avec un frère
- 23. Dojo (x) Widgets dans le tableau HTML ne pas redimensionner
- 24. ASP.NET Tableau: définir les polices sur X et l'axe Y
- 25. Remplacement pour ... si l'itération du tableau
- 26. Comment supprimer des éléments en double d'un tableau en Perl?
- 27. python - match sur la valeur de retour du tableau
- 28. « CFBundleVersion doit être une chaîne » d'OS X tableau de bord
- 29. comment faire une boucle dans le tableau associatif et renvoyer l'écho à la liste?
- 30. Collections, éléments, verbes et conception de l'interface REST: que doivent renvoyer les POST?
wtf avec downvotes dans cette question? – SilentGhost
J'ai upvoted tout, puisque chaque réponse est bonne. – Vili