Moin!
Das heisst, bei dieser Zeile
for ($i=1; $i<count($pfad); $i++)
Bedenke, welche Umsetzungsbedingungen für die for-Schleife gelten.
Du gibst drei Anweisungen (so nenne ich sie jetzt mal) an, getrennt durch ein Semikolon.
Anweisung 1 ($i=1) wird vor Beginn der Schleife einmal ausgeführt.
Anweisung 2 ($i<count($pfad)) wird vor Beginn eines Schleifendurchlaufs geprüft. Wenn der Ausdruck "wahr" ergibt, wird die Schleife durchlaufen.
Anweisung 3 ($i++) wird nach Ende eines Schleifendurchlaufs ausgeführt.
Man kann eine for-Schleife auch als while-Schleife schreiben:
$i=1;
while ($i<count($pfad))
{
//Anweisungen
$i++;
}
Wichtig zu bemerken ist bei diesem konkreten Beispiel: Wenn count($pfad) den Wert 4 hat, dann wird die for-Schleife mit den Werten 1, 2 und 3 für $i durchlaufen, aber nicht mit 4!
Das macht durchaus Sinn, denn count($pfad) liefert die Anzahl der Arrayelemente. Der höchste Arrayindex hingegen ist um eins kleiner, weil ja der Index Null existiert.
hiesse das nun aufgelöst(bezogen auf meinen angenommenen Pfad "includes/javascript/popups/irgendwas.txt";),
for($i=1; 1<4[1]; 1+1) //Ausgabe:javascript, nächster Durchlauf
for( 2<4[2]; 2+1) //Ausgabe:popus, nächster Durchlauf
for(3<4[3]; 3+1) //Ausgabe:irgendwas.txt anstatt $title, nächster Durchlauf
Hier ist es falsch. $i wird erst am Ende des Durchlaufs von 3 auf 4 erhöht.
Und wenn $i = 4 ist, ist es nicht mehr kleiner als count($pfad), also wird die Schleife abgebrochen und ...
if (4<4[3]) //Bedingung nicht erfüllt, also müsste hier doch auf
...diese Bedingung wird niemals erreicht.
- Sven Rautenberg
Die SelfHTML-Developer sagen Dankeschön für aktuell 20885,68 Euro Spendengelder!