in foreach existiert isLastItem ()?

8

Mit einer regulären for-Schleife ist es möglich, den aktuellen Index mit dem letzten zu vergleichen, um festzustellen, ob ich mich in der letzten Iteration der Schleife befinde. Gibt es eine ähnliche Sache bei der Verwendung von foreach ? Ich meine sowas.

%Vor%

Wenn nicht, gibt es zumindest eine Möglichkeit, den aktuellen Index der aktuellen Iteration wie $iteration = 5 zu kennen, also kann ich ihn manuell mit der Länge von $array vergleichen?

    
zmol 09.02.2011, 10:40
quelle

8 Antworten

11

Sie können eine Kombination aus SPL ArrayIterator und CachingIterator -Klasse , um ein < a href="http://php.net/cachingiterator.hasnext"> hasNext Methode :

%Vor%     
Gumbo 09.02.2011, 11:01
quelle
21

Die Zählermethode ist wahrscheinlich die einfachste.

%Vor%     
awm 09.02.2011 10:46
quelle
1

Nein, Sie benötigen einen Zähler und wissen, wie viele Einträge in der Liste enthalten sind. Sie können end() verwenden, um das letzte Element in einem Array abzurufen und festzustellen, ob es mit dem übereinstimmt aktueller Wert in Ihrem foreach .

    
Filip Ekberg 09.02.2011 10:42
quelle
1

Wenn Sie wissen, dass die Werte des Arrays immer eindeutig sind, können Sie das aktuelle $item mit end($array) vergleichen, um zu wissen, ob Sie das letzte Objekt noch haben. Ansonsten, nein, Sie brauchen einen Zähler.

    
Dan Grossman 09.02.2011 10:43
quelle
1

Sie können den Schlüssel und den Wert in foreach() wie folgt erhalten:

foreach($array as $key=>$value) { ... }

Alternativ können Sie auch count() des Arrays verwenden, damit Sie wissen, wie viele Elemente vorhanden sind, und über einen inkrementierenden Zähler verfügen, damit Sie wissen, wann Sie den letzten Eintrag erreicht haben.

    
Steve Criddle 09.02.2011 10:44
quelle
1
%Vor%     
Mark Baker 09.02.2011 10:46
quelle
1

Hier sind ein paar Methoden dafür;

%Vor%     
K-Gun 26.01.2015 21:11
quelle
0

Die valid () -Methode gibt an, ob das ArrayIterator-Objekt mehr Elemente enthält.

Siehe:

%Vor%     
Paulo Luvisoto 03.04.2016 21:22
quelle

Tags und Links