Also:
Am Anfang werden $i und $z jeweils auf 1 gesetzt. Sie haben also einen definierten Wert - und auch gleich den richtigen…
echo „“; gibt lediglich den öffnenden table-Tag aus - er beginnt eine HTML-Tabelle.
while ( $i mitsamt Inhalt ausgegeben, also eine Zelle mit einer Zahl.
Es wird immer $erg mit dem Ergebnis von $i mal $z gefüllt und anschließend innerhalb der HTML-Tabellenzelle ausgegeben. Ganz am Anfang also 1 * 1 = 1.
Jetzt muss $z um eins erhöht werden. Sonst hättest du eine Endlosschleife, weil $z IMMER kleiner oder gleich 10 wäre.
Dann ist die innere, die z-Schleife, am Ende. Es wird wieder geprüft ob $z kleiner oder gleich 10 ist. Ja, ist es… $z ist jetzt 2… $i bleibt aber 1!
Also wird die Schleife wieder durchlaufen. Es wird $i mal $z also 1 * 2 gerechnet - und 2 ausgegeben.
Das wird immer wieder wiederholt. $z wird jedesmal um 1 größer.
Im letzten Durchlauf ist $z 10. $i ist immernoch 1. Es wird also 1 mal 10 gerechnet - 10.
Dann wird $z wieder um eins erhöht und ist jetzt 11. Damit bricht die innere Schleife, die z-Schleife ab.
Jetzt wird $i um eins erhöht. Wir sind wieder in der äußeren, der i-Schleife! Der nächste Durchlauf der i-Schleife wird vorbereitet! Wir haben jetzt alle Werte von 1 * 1 bis 1 * 10 berechnet. $i wird auf 2 gesetzt.
Lassen wir $z mal auf 11.
Die Tabellenzeile wird noch geschlossen - dann sind wir auch schon wieder beim ersten while, der i-Schleife.
$i ist jetzt 2. 2 ist kleiner als 10. Also wird die Schleife wieder durchlaufen.
Eine neue HTML-Tabellenzeile wird geöffnet.
Und wir kommen nochmal zur z-Schleife - diesmal aber mit $i = 2.
Da wir - anders als in der Lösung - $z NICHT auf 1 gesetzt haben, steht es noch immer auf 11… 11 ist weder kleiner noch gleich 10. Also wird die Schleife NICHT durchlaufen!
$i wird wieder erhöht… Und so weiter.
Du musst $z auf 1 setzen, damit die innere Schleife durchlaufen wird!
Dann ist bei $i = 2 die ganze z-Schleife wieder lauffähig. Und es werden die Werte von 2 * 1 bis 2 * 10 berechnet und ausgegeben!
Danach wird $i wieder erhöht auf 3 - und $z wieder auf 1 gesetzt… Es wird dann 3 * 1 bis 3 * 10 ausgegeben.
Im letzten Durchlauf ist $i 10 und es werden 10 * 1 bis 10 * 10 berechnet.
Anschließend ist $i 11 - was weder kleiner noch gleich 10 ist. Deshalb wird auch die äußere Schleife abgebrochen.
Dann wird die HTML-Tabelle noch geschloßen und das wars… Aufgabe erfüllt… Alle Zahlen von 1 * 1 bis 10 * 10 sind ausgegeben, in 10 Reihen und in 10 Spalten…
Der wichtige Punkt ist der mit der INNEREN Schleife. Achte darauf, dass sie innerhalb der i-Schleife läuft. Bei jedem neuen i muss diese Schleife wieder bei 1 anfangen! Deshalb das $z = 1.
Ich hoffe, das war verständlich!
Grüße,
Lars