Hallo ihr,
ich hab ein einfaches Problem mit einer for-Schleife, und zwar ist die Ausgabe nicht der Wert, der er sein sollte ;) Bestimmt hab ich was ganz einfaches übersehen oder durcheinander gebracht...
Folgender Beispielcode:
$text = "1+2+3";
$array = explode("+",$text);
for($anzahl = 1; $array[$anzahl-1] != NULL; $anzahl++);
{
echo $anzahl."<br>";
}
Ich wollte mit dieser Schleife rausfinden, wieviele in meinem Array stehen. Es sind 3, wie man oben sehen kann. Wenn ich das Script ausführen lasse, zeigt mir $anzahl jedoch den Wert 4 an.
Nochmal logisch durchgehen: Die Variable $text wird an den + Zeichen aufgeteilt und das Array enthält somit 3 Werte. In der Schleife wird $anzahl auf 1 gesetzt. Dann wird abfragt, ob das Array überhaupt einen Wert enthält... angefangen wird mit $array[0] (halt $array[$anzahl-1]). Er stellt fest: Jo, das Array hat nen Wert... $anzahl um 1 erhöhen und die Schleife neu ausführen. Das macht er solange, bis er bei array[3] ankommt, $anzahl hat dann den Wert 4...
Ah und grad hats bei mir geklingelt ;) Natürlich zählt er bis 4 hoch, erst dann ist das Array leer und er steigt aus der Schleife aus.
Heisst das, ich muss am Ende einfach nur 1 von $anzahl abziehen, und das Verfahren ist in Ordnung? Oder ist das generell ein "schlechter Stil" den ich da angewandt habe?
Danke schonmal! (auch wenn sich mein Problem irgendwie grad von selbst erledigt hat... manchmal hilft es halt, die Schritte nochmal logisch nachzuvollziehen ;))
Sven