Introduction à la syntaxe de l'instruction PHP for Loop et exemples d'utilisation

伊谢尔伦
Libérer: 2023-03-11 07:46:01
original
2504 Les gens l'ont consulté

for loop est juste un peu plus de code avec une boucle ajoutée. Les tâches courantes d'une boucle impliquée sont :

1. Définir les valeurs initiales de certains compteurs variables .
2. Veuillez vérifier que l'instruction conditionnelle est correcte.
3. Boucle de code en exécution.
4. Incrémentez le compteur de boucles à la fin de chaque itération.
La boucle for permet de définir ces étapes avec une simple ligne de code. Il semble avoir une forme étrange, alors assurez-vous de prêter une attention particulière à la grammaire ! La syntaxe de la boucle
for est la suivante :

for (expr1; expr2; expr3) 
statement
Copier après la connexion

La première expression (expr1) est évaluée sans condition une fois avant le début de la boucle.
expr2 est évalué avant chaque boucle. Si la valeur est TRUE, la boucle continue et l'instruction de boucle imbriquée est exécutée. Si la valeur est FALSE, la boucle est terminée.
expr3 est évalué (exécuté) après chaque boucle.
Chaque expression peut être vide ou inclure plusieurs expressions séparées par des virgules. Dans l'expression expr2, toutes les expressions séparées par des virgules sont évaluées, mais seul le dernier résultat est pris en compte. Une expr2 vide signifie que la boucle continuera indéfiniment (comme C, PHP considère que sa valeur est VRAIE). Cela n'est peut-être pas aussi inutile que vous le pensez, car vous souhaitez souvent utiliser une instruction break pour terminer la boucle au lieu d'utiliser la vérification de la vérité de l'expression for.
Exemple 1

for ($i = 0; $i <= 2; $i++) 
{ 
print "value is now " . $i . "<br>"; 
}
Copier après la connexion

Valeur de sortie

value is now 0 
value is now 1 
value is now 2
Copier après la connexion

Dans la première boucle, $i=0, ce qui signifie l'expression ($i<= 2) , pour vrai. Par conséquent, lorsque l'instruction print est exécutée, $i est incrémenté de 1 et devient 1.

Dans la deuxième boucle, $ = 1, ce qui signifie que l'expression ($i<= 2) est vraie. Par conséquent, lorsque l'instruction print est exécutée, $i est incrémenté de 1 et devient 2.

Dans la troisième itération, $i= 2, ce qui signifie que l'expression ($i<= 2) est vraie. Par conséquent, lorsque l'instruction print est exécutée, $i est incrémenté et devient 1 3.

Dans la quatrième itération, $i= 3, ce qui signifie que l'expression ($i<= 2), est fausse. Par conséquent, PHP n'exécute pas la boucle et n'exécute pas l'instruction print.

Exemple 2

$brush_price = 5; 
echo "<table border="1" align="center">"; 
echo "<tr><th>Quantity</th>"; 
echo "<th>Price</th></tr>"; 
for ( $counter = 10; $counter <= 100; $counter += 10) { 
echo "<tr><td>"; 
echo $counter; 
echo "</td><td>"; 
echo $brush_price * $counter; 
echo "</td></tr>"; 
} 
echo "</table>";
Copier après la connexion

Valeur de sortie

Quantity Price 
10 50 
20 100 
30 150 
40 200 
50 250 
60 300 
70 350 
80 400 
90 450 
100 500
Copier après la connexion

Vous pouvez vous référer aux exemples suivants, ils affichent tous des chiffres de 1 à 10 :

<?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++); 
?>
Copier après la connexion

Bien sûr, le premier exemple semble le plus normal (ou le quatrième), mais les utilisateurs peuvent trouver que l'utilisation d'expressions vides dans les boucles for est pratique dans de nombreuses situations.

PHP prend également en charge une syntaxe alternative pour les boucles for utilisant des deux-points.

for (expr1; expr2; expr3): 
statement; 
... 
endfor;
Copier après la connexion

Nous avons souvent besoin de parcourir le tableau suivant :

<?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 < sizeof($people); ++$i) 
{ 
$people[$i][&#39;salt&#39;] = rand(000000, 999999); 
} 
?>
Copier après la connexion

Le problème avec le code ci-dessus réside dans la deuxième expression de for This entraînera l'exécution du code très lentement - car la longueur du tableau doit être calculée à chaque fois dans la boucle. Puisque la longueur du tableau reste toujours la même, nous pouvons utiliser une variable intermédiaire pour stocker la longueur du tableau, puis utiliser cette variable comme deuxième expression de la boucle for. De cette manière, la valeur de la variable peut être utilisée directement lors de la boucle sans avoir à recalculer à chaque fois. Comme suit :

<?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 = sizeof($people); $i < $size; ++$i) 
{ 
$people[$i][&#39;salt&#39;] = rand(000000, 999999); 
} 
?>
Copier après la connexion


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal