Moin,
das tut sie aber nicht. Nur der Rest des Durchlaufs vom Nullsetzen bis zum Ende des Schleifenrumpfes läuft mit $i=0. Zu Beginn des nächsten Durchlaufs wird $i aber auf 1 incrementiert.
Hä? Ok, kurzer umriss des Ablaufs.
Die äußere Schleife beginnt bei $i=0
(Erstes Arrayelement) und fürhrt das erste mal die Innere Schleife aus welche bei $e=0
(Erstes Arrayelement) startet. Wenn jetzt $e != $i
, Wird geprüft ob xi == xe und yi == ye und zi == ze
. Falls die innere Schleife keine übereinstimmung findet wirkt $i++
.
Wenn die Bedingung jedoch irgendwann erfüllt ist wird $i=0
gesetzt und das break;
sorgt für den Abbruch der Inneren Schleife. Nun Beginnt Die äußere Schleife wieder bei $i=0
und springt damit wieder auf das erste Arrayelement.
Auszug aus dem Manual:
Der erste Ausdruck (expr1) wird vor Ausführung der Schleife ausgeführt.
Am Anfang jedes Schleifendurchlaufs wird die Anweisung expr2 ausgeführt. Wenn diese wahr ist (TRUE), >wird die Schleife fortgesetzt und die untergeordneten Anweisungen werden ausgeführt. Andernfalls >(FALSE) endet die Ausführung der Schleife.
Am Ende jedes Schleifendurchlaufs wird die Anweisung expr3 ausgeführt.
$i++
sollte somit erst nach dem ersten Schleifen durchlauf wo $i
wieder Null ist, ausgeführt werden und $i
inkrementieren.
Oder bin ich gerade völlig deppert?
Gruß Jo
p.s. Mal nebenbei, wie funktioniert ein einfacher Zeilenumbruch? Ist mir gerade aufgefallen das ein einfaches Enter keine neue Zeile im Beitrag sondern nur im Formular Feld erzeugt.