Maison > développement back-end > tutoriel php > Explication détaillée des exemples d'utilisation étendue de la boucle for en php

Explication détaillée des exemples d'utilisation étendue de la boucle for en php

伊谢尔伦
Libérer: 2023-03-11 08:40:02
original
2094 Les gens l'ont consulté

l'instruction for peut être considérée comme l'instruction la plus basique de la boucle partie contrôle de PHP (également en plusieurs langues), pour Les règles d'exécution et l'utilisation de base des instructions ne seront pas abordées ici. Vous pouvez vous référer au manuel PHP pour la section des instructions. Sa syntaxe est définie dans le manuel PHP comme suit :

for (expr1; expr2; expr3)
instruction

Parlons de plusieurs variantes utiles du for déclaration. .

1. Boucle infinie

La première est la boucle infinie bien connue (également appelée « boucle morte »). Puisque l'expression vide null est syntaxiquement valide, on peut laisser les trois expressions de l'instruction for vides, ce qui aura pour effet d'exécuter en continu l'instruction for imbriquée.

<?php
for (;;) {
 //放置需要不断执行的语句
}
?>
Copier après la connexion

Bien que certaines tâches utilisent des boucles infinies, la plupart des tâches du programme, en particulier celles impliquant PHP, ajouteront certaines conditions pour terminer la boucle lors de l'utilisation de boucles infinies.

<?php
for (;;) {
//如果是公元2199年,则跳出循环
 if (date(&#39;Y&#39;) == &#39;2199&#39;) {
  break;
 }
}
?>
Copier après la connexion

2. Utilisez des expressions vides

L'étape suivante consiste à utiliser la syntaxe nulle dans l'instruction d'initialisation expr1. La fonction la plus courante de laisser expr1 vide est d'effectuer un travail d'initialisation plus complexe. .

<?php
if (isset($i)) {
unset($i);
 if ((int) date(&#39;&#39;) < 2008) {
  $i = 0;
 } else {
  $i = 1;
 }
} else {
 $i =3;
}
for (;$i < 10;$i++) {
 echo $i;
}
?>
Copier après la connexion

De la même manière, l'expression d'itération expr3 peut également être laissée vide. Cela peut également être utilisé pour écrire des itérations plus complexes, comme appeler différentes itérations selon différentes conditions.

Laisser l'instruction conditionnelle expr2 dans l'instruction for vide est la boucle infinie mentionnée ci-dessus. Bien sûr, vous pouvez également ajouter des conditions plus complexes pour déterminer quand sortir de la boucle, qui ne seront pas répétées ici. .

3. Boucles multiples

Utiliser plusieurs boucles pour contrôler plusieurs variables est également une fonctionnalité souvent négligée dans l'instruction for. Comme dans l’exemple ci-dessous, les doubles boucles sont généralement utilisées dans les tâches générales, et les boucles de trois ou plus ont généralement peu d’importance.

<?php
for ($i = 0, $j = 10;$i <= 10;$i++, $j--) {
 echo "$i + $j = 10\r\n";
}
?>
Copier après la connexion

Le code ci-dessus affichera :

0 + 10 = 10
1 + 9 = 10
2 + 8 = 10
3 + 7 = 10
4 + 6 = 10
5 + 5 = 10
6 + 4 = 10
7 + 3 = 10
8 + 2 = 10
9 + 1 = 10
10 + 0 = 10
Copier après la connexion

4. Expressions plus complexes

Si les trois expressions de l'instruction for sont écrites de manière plus compliquée, cela peut être utilisé pour les algorithmes d’optimisation. Vous pouvez même utiliser une instruction for sans corps de boucle pour effectuer certaines tâches. Par exemple, pour calculer une accumulation ou une factorielle :

<?php
//计算1-5的累加结果,斌值到$j
or ($i = 1,$j = 0; $i <= 5;$j += $i++);
echo $j;
//计算1-5的阶乘结果,斌值到$j
for ($i = 1,$j = 1; $i <= 5;$j *= $i++);
echo $j;
?>
Copier après la connexion

f

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