Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Flusskontrolle für Anweisung

PHP-Flusskontrolle für Anweisung

不言
不言Original
2018-05-04 09:38:431461Durchsuche

Dieser Artikel stellt hauptsächlich die for-Anweisung zur PHP-Prozesssteuerung vor, die einen gewissen Referenzwert hat. Jetzt kann ich sie mit allen teilen, die sie brauchen.

Dieser Artikel dient der grundlegenden Verwendung Lernen, Experten schließen bitte diese Seite

Das Lesen dieses Artikels dauert 7 Minuten. Ist es schwer, diejenigen zu verstehen, die Schwierigkeiten haben?

(PHP 4, PHP 5, PHP 7)

for-Schleife ist die komplexeste Schleifenstruktur in PHP. Sein Verhalten ähnelt dem der C-Sprache. Die Syntax einer for-Schleife lautet:

for (expr1; expr2; expr3)
    statement

Der erste Ausdruck () wird einmal bedingungslos ausgewertet (und ausgeführt), bevor die Schleife beginnt.

wird vor jeder Schleife ausgewertet. Wenn der Wert TRUE ist, fahren Sie mit der Schleife fort und führen Sie verschachtelte Schleifenanweisungen aus. Wenn der Wert FALSE ist, beenden Sie die Schleife.

wird nach jeder Schleife ausgewertet (und ausgeführt).

Jeder Ausdruck kann leer sein oder mehrere durch Kommas getrennte Ausdrücke enthalten. In expression werden alle durch Kommas getrennten Ausdrücke ausgewertet, es wird jedoch nur das letzte Ergebnis verwendet. Leer bedeutet, dass die Schleife auf unbestimmte Zeit fortgesetzt wird (wie C betrachtet PHP seinen Wert implizit als TRUE). Dies ist möglicherweise nicht so nutzlos, wie Sie denken, da Sie häufig eine bedingte break-Anweisung verwenden möchten, um die Schleife zu beenden, anstatt die Wahrheitsprüfung des for-Ausdrucks zu verwenden.

Betrachten Sie die folgenden Beispiele, in denen beide die Zahlen 1 bis 10 anzeigen:

<?php
/* example 1 */

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/* example 2 */

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* example 3 */

$i = 1;
for (;;) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* example 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

Natürlich sieht das erste Beispiel am hübschesten aus (oder manche würden das vierte behaupten), aber der Benutzer kann es tun Ich habe festgestellt, dass die Verwendung leerer Ausdrücke in for-Schleifen in vielen Situationen praktisch ist.

PHP unterstützt auch eine alternative Syntax für For-Schleifen mit Doppelpunkten.

for (expr1; expr2; expr3):
    statement;
    ...
endfor;

Manchmal ist es oft notwendig, ein Array wie im folgenden Beispiel zu durchlaufen:

<?php
/*
 * 此数组将在遍历的过程中改变其中某些单元的值
 */
$people = Array(
        Array(&#39;name&#39; => &#39;Kalle&#39;, &#39;salt&#39; => 856412), 
        Array(&#39;name&#39; => &#39;Pierre&#39;, &#39;salt&#39; => 215863)
        );

for($i = 0; $i < count($people); ++$i)
{
    $people[$i][&#39;salt&#39;] = rand(000000, 999999);
}
?>

Der obige Code kann aufgrund jeder Schleife sehr langsam ausgeführt werden Die Länge des Arrays muss jedes Mal berechnet werden. Da die Länge des Arrays immer gleich bleibt, kann eine Zwischenvariable verwendet werden, um die Array-Länge zur Optimierung zu speichern, anstatt ständig count() aufzurufen:

<?php
$people = Array(
        Array(&#39;name&#39; => &#39;Kalle&#39;, &#39;salt&#39; => 856412), 
        Array(&#39;name&#39; => &#39;Pierre&#39;, &#39;salt&#39; => 215863)
        );

for($i = 0, $size = count($people); $i < $size; ++$i)
{
    $people[$i][&#39;salt&#39;] = rand(000000, 999999);
}
?>

Verwandte Empfehlungen:

php-Prozesssteuerung do-while

php-Prozesssteuerung elseif/else if

Das obige ist der detaillierte Inhalt vonPHP-Flusskontrolle für Anweisung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-Prozesssteuerung do-whileNächster Artikel:PHP-Prozesssteuerung do-while