2010-08-17 7 views
1

Je suis en train de boucler à travers un tableau arrière, donc je pensais que je pourrais essayerComment déterminer le nombre d'entrées d'un tableau?

$Array = Array("One", "Two", "Three", "Four", "Five"); 
For ($Entry = Amount_of_values($Array); $Entry = 0; $Entry = $Entry-1){ 
    Echo $Array[$Entry] . " "; //Should be Five Four Three Two One 
} 

, mais je ne sais pas comment récupérer la quantité de valeurs dans un tableau (Amount_of_values ​​($ array) en l'exemple). Quelle est la fonction que je recherche?

Merci d'avance! Petite question supplémentaire: pourquoi devrais-je $ Entry> = 0 dans la boucle for, n'est-ce pas la dernière chose que je veux afficher $ Array [0]?

+0

Vous pourriez reformuler cela pour dire "la taille ou la longueur d'un tableau", ou "le nombre d'entrées". Le montant fait généralement référence à d'autres choses, comme une somme. – janmoesen

+1

Il y a une erreur dans votre boucle for, '$ Entry = 0'. Cela devrait probablement être '$ Entry> = 0'. – Sjoerd

+0

* (référence) * [Array Functions] (http://de.php.net/manual/fr/book.array.php) – Gordon

Répondre

4

Il y a une meilleure façon de faire ce que votre extrait de code - en utilisant implode et array_reverse:

$Array = Array("One", "Two", "Three", "Four", "Five"); 
echo implode(" ", array_reverse($Array)); // Should be Five Four Three Two One 

La réponse à votre question réelle cependant, est de savoir si vous voulez compter les nombre d'entrées dans un tableau, vous voulez count.

+0

'echo implode (array_reverse ($ Entries)); ', puisque son tableau original est l'inverse. – janmoesen

+0

@janmoesen - d'où viennent les '$ Entries'? Pourquoi utilisez-vous implode sans une valeur pour la colle? –

+0

Merci Dominic et Jan d'avoir répondu à la question et proposé une alternative. – Chris

5

Vous cherchez count:

print count($Array); 
1

Cela va faire ce que vous voulez:

count($array); 
1

Cela devrait fonctionner:

count($Array) 
+0

Pourquoi utiliser l'alias au lieu de la fonction directe? Dans d'autres langages, 'sizeof' signifie différentes choses en fonction du type de données, alors pourquoi ajouter la couche de confusion possible (d'autant plus qu'elle n'ajoute rien sur' count() '... http://us3.php.net/manual /en/function.sizeof.php – ircmaxell

+0

Ok, pourquoi n'a-t-on pas enregistré cette édition ... La publication contenait à l'origine 'sizeof ($ Array)' au lieu de 'count ($ Array)', et c'est ce que ma réponse ci-dessus est de ... – ircmaxell

+0

@ircmaxell - les modifications ne sont pas enregistrées si elles sont dans les 5 minutes suivant la publication initiale (juste au cas où vous ou quelqu'un d'autre pensait que c'était un bug) –

1

essayer count($Array):

For ($Entry = count($Array); $Entry = 0; $Entry = $Entry-1){ 
     Echo $Array[$Entry] . " "; //Should be Five Four Three Two One 
    } 
Questions connexes