Inhaltsverzeichnis:
Video: PHP Tutorial | CSV Datei erstellen in PHP 2024
Die while-Schleife ist der primäre Weg, um sich von einer Wiederholungsschleife in PHP zu wiederholen. Als HTML5- und CSS3-Programmierer kann es Zeiten geben, in denen Sie eines über das andere auswählen, aber es ist wichtig, die Unterschiede zwischen den beiden zu verstehen.
während Schleifen Schleifen ähneln. Sie erfordern den gleichen Gedanken:
-
Eine Sentry-Variable: Diese spezielle Variable steuert den Zugriff auf die Schleife. Im Gegensatz zu int, das normalerweise in for-Schleifen verwendet wird, kann der Wächter einer while-Schleife ein beliebiger Typ sein.
-
Initialisierung: Setzt den Anfangswert der Sentry-Variable, bevor die Schleife beginnt. Verlassen Sie sich nicht auf die Standardeinstellungen (weil Sie nicht wissen, was sie sein werden). Stellen Sie stattdessen diesen Wert selbst ein.
-
Eine Bedingung: Die while-Anweisung erfordert eine Bedingung. Diese Bedingung steuert den Zugriff auf die Schleife. Solange die Bedingung wahr ist, wird die Schleife fortgesetzt. Sobald die Bedingung als falsch bewertet wird, wird die Schleife beendet.
-
Ein Modifikator: Sie müssen den Wert der Sentry-Variablen irgendwie ändern. Es ist wichtig, dass die Änderungsanweisung irgendwo innerhalb der Schleife stattfindet. In einer for-Schleife fügen Sie fast immer eine Variable hinzu oder subtrahieren sie, um eine Variable zu ändern. In einer while-Schleife kann jede Art von Zuweisungsanweisung verwendet werden, um die Variable zu ändern.
for-Schleifen sind etwas sicherer als while-Schleifen, weil die Struktur der Schleife erfordert, dass Sie über Initialisierung, Bedingung und Modifikation nachdenken. Alle drei Funktionen sind in die for-Anweisung integriert. Die while-Anweisung erfordert nur die Bedingung. Das könnte Sie glauben machen, dass Sie die anderen Teile nicht brauchen, aber das wäre gefährlich.
In jeder Art von Schleife müssen Sie die Sentry-Variable initialisieren und ihren Wert ändern. Mit der while-Schleife sind Sie dafür verantwortlich, diese Funktionen selbst hinzuzufügen. Andernfalls werden endlose Schleifen oder Schleifen verursacht, die niemals auftreten.
Werfen Sie einen Blick auf den folgenden Code. PHP-Programm, um zu sehen, wie es funktioniert:
während. php img {Höhe: 40px; width: 50px;}Würfeln Rollenspiel 2
Willkommen beim Würfelspiel. Sehen Sie, wie viele Rollen es braucht, um eine Sechs zu bekommen!
php $ userNumber = 999; $ Zähler = 0; while ($ userNumber! = 6) {$ userNumber = rand (1, 6); drucke <<< hERE HIER; $ counter ++;} print "Es hat $ counter versucht, eine Sechs zu erhalten.
"; ? >Erneut versuchen!
Dieses Beispiel zeigt, wie subtile while-Schleifen sein können. Alle Schlüsselelemente sind dort, aber sie sehen nicht alle als Teil der while-Schleife aus.
-
Initialisiert $ userNumber.
Für diese Schleife ist $ userNumber die Sentry-Variable.Die Initialisierung muss garantieren, dass die Schleife genau einmal läuft. Da die Bedingung ($ userNumber! = 6) ist, müssen Sie $ userNumber einen Wert geben, der eindeutig nicht 6 ist. 999 erledigt die Aufgabe, und es ist wild genug, um deutlich außerhalb des Bereichs zu liegen.
Obwohl der Initialisierungsschritt im Code vor der Schleife angezeigt wird, ist es oft am besten, mit Ihrer Bedingung zu beginnen und dann eine zu initialisierende Zeile zu sichern, da der Initialisierungsschritt von der Bedingung abhängt.
-
Richten Sie die Bedingung ein.
Überlegen Sie, was die Schleife veranlassen soll, fortzufahren oder zu beenden. Denken Sie daran, dass die Bedingung erklärt, wann die Schleife fortgesetzt wird. Es ist oft einfacher, darüber nachzudenken, was die Schleife zum Verlassen veranlasst. Das ist gut; nur umkehren. Zum Beispiel, wenn Sie möchten, dass die Schleife beendet wird, wenn $ userNumber gleich 6 ist, dann wird es so lange wie $ userNumber weitergehen! = 6.
-
Ändern Sie den Wächter.
Dieses ist schwierig. Ändern Sie in diesem Beispiel die Sentry-Variable, indem Sie eine neue Zufallszahl erhalten: $ userNumber = rand (1, 6). In einer While-Schleife ist der Modifikationsschritt häufig für das Problem verantwortlich, das Sie lösen. Manchmal erhalten Sie den neuen Wert vom Benutzer, manchmal erhalten Sie ihn aus einer Datei oder Datenbank, oder manchmal fügen Sie ihn einfach hinzu (wie bei einer for-Schleife).
Der Schlüssel hier ist sicherzustellen, dass Sie eine Anweisung haben, die die Sentry-Variable ändert und die die Bedingung auslösen kann. Beispielsweise würde die Verwendung von $ userNumber = rand (1, 5) zu einer Endlosschleife führen, da $ userNumber niemals 6 sein kann.
Schleifen können viele Probleme verursachen, weil sie logische Fehler verursachen können. Das heißt, die -Syntax (Struktur und Schreibweise des Codes) kann gut sein, aber das Programm funktioniert immer noch nicht richtig. Fast immer kann das Problem gelöst werden, indem man an diese drei Teile einer wohlerzogenen Schleife denkt: Initialisiere den Wächter, erstelle eine sinnvolle Bedingung und modifiziere den Wächter entsprechend.