Ich habe ein Array von Objekten, ein Array in PHP. Wie überspringe ich das letzte Element in der Foreach-Iteration?PHP: Wie das letzte Element in Foreach-Schleife überspringen
Antwort
Verwenden Sie eine Variable überspringen könnten zu verfolgen, wie viele Elemente haben bisher wiederholt worden und die Schleife geschnitten, wenn es das Ende erreicht:
$count = count($array);
foreach ($array as $key => $val) {
if (--$count <= 0) {
break;
}
echo "$key = $val\n";
}
Wenn Sie nicht über Speicher kümmern, können Sie über einen verkürzten Kopie des Arrays iterieren:
foreach (array_slice($array, 0, count($array) - 1) as $key => $val) {
echo "$key = $val\n";
}
Ich weiß nicht, warum es sich anfühlte wie es war schlechte Frage, aber das war sicherlich das, worum ich gefragt habe. Ich möchte alles durchschleifen, aber das letzte Element im Array ausschließen. Danke – muffin
@muffin Die Frage ist wirklich, warum dieses letzte Element an erster Stelle ausgeschlossen werden sollte ... wenn es etwas Besonderes an diesem Wert gibt, sollte es vielleicht nicht ' Sei nicht da. –
$count = count($array);
$i=0;
foreach ($arr as &$value)
{
$i++;
if($i==($count-1))
{
echo 'skip';
}
else
{
echo $value;
}
}
Funktioniert nicht, wenn Schlüssel Zeichenfolgen sind. –
@jack okk als ich bearbeite meine Antwort .. :) –
tun Sie einfach dies: für ($ i = 0; $ i <$ count-1; $ i ++) –
Was Sie versuchen zu tun, wird den Zweck der foreach-Schleife besiegen. Es soll das gesamte Array durchlaufen und unsere Arbeit erleichtern.
für ex: Sie können die Größe des Array mit COUNT Funktion in php bekommen und kann dann für die Schleife verwenden und den Grenzwert auf Arraysize-2, so dass die letzte Reihe wird
entfallen, wenn Sie don‘ t will den letzten Array-Eintrag mit Pop löschen, können Sie es wie diese
$array = array('v1','v2','v3',...)
$counter = 1;
foreach($array as $value)
{
//do your thing in loop
if($counter == count($array)) continue; // this will skip to next iteration if last element encountered.
$counter++;
}
Es gibt verschiedene Möglichkeiten, dies zu tun.
Wenn Ihr Array ein sequentiell Null-indexierten Array ist, könnten Sie tun:
for($i = 0, $ilen = count($array) - 1; $i < $ilen; $i++)
{
$value = $array[ $i ];
/* do something with $value */
}
Wenn Ihr Array ist ein assoziatives Array oder auf andere Weise nicht sequentiell Null-indiziert, könnten Sie tun:
$i = 0;
$ilen = count($array);
foreach($array as $key => $value)
{
if(++$i == $ilen) break;
/* do something with $value */
}
Dies ist auch eine gute Antwort .. Vielen Dank :) – muffin
@muffin Gern geschehen. Wie Sie aus anderen Antworten sehen können, gibt es viele Möglichkeiten, um das zu erreichen, was Sie wollten. –
- 1. PHP - Wie bekomme ich das Element vor das letzte Element eines Arrays?
- 2. Zeige nur das letzte Element im Array
- 3. das letzte Element in der Reihe BrowseFragment
- 4. Ändern das letzte Element eines Arrays
- 5. Wie wählt man das letzte untergeordnete Element in jQuery aus?
- 6. Wie findet man das letzte passende Element in Capybara?
- 7. Wie bekomme ich das letzte Element einer Sequenz in XPath?
- 8. Wie entferne ich das letzte untergeordnete Element in DOM?
- 9. Wie bekomme ich das erste und letzte Element von Array
- 10. Das letzte Element gefunden, das den Kriterien in Python entspricht?
- 11. Scrollview kann nicht zeigen, das letzte Element
- 12. Wie kann ich das Element von Array .map überspringen?
- 13. Bindung an das letzte Array-Element
- 14. : Last-Kind wählt nicht das letzte Element
- 15. PHP: Wie auf das letzte Element in einer XML-Datei zugreifen
- 16. letzte Element ändern Ausgabe in Schleife (ACF)
- 17. Wie bekomme ich das letzte Zeichen einer Zeichenkette in PHP?
- 18. Wie bekomme ich das letzte Element eines verschachtelten Arrays?
- 19. Wie überprüft man das letzte Element einer Python-Liste?
- 20. Wie entferne ich das letzte Element aus einer Schicht?
- 21. Wie zu vermeiden, das letzte Element aus Autocompletetextview
- 22. Wie lösche ich das letzte Element aus einem Array?
- 23. das letzte Element in ul geht in die nächste Zeile
- 24. Wie kann man das letzte Element der zweiten Menüebene ablegen?
- 25. Wie ermittelt man das letzte Element bei Verwendung eines Iterators?
- 26. Wie ändert man das letzte Element eines Arrays?
- 27. Wie das letzte Element auf generate_series Sequenz entfernen
- 28. Holen Sie sich das letzte Element in einem SortedDictionary
- 29. Komma für das letzte Element in meinem Array entfernen?
- 30. Holen Sie das letzte Element der Pipeline in Powershell
'if $ element == Ende ($ myarray) break' – sashkello
Verwenden Sie array_pop() vor foreach – PravinS
@sashkello Das wird unerwünschte Ergebnisse geben, wenn doppelte Elemente im Array vorhanden sind, oder wenn Elemente, die den gleichen Wert auswerten als der letzte. –