L'instruction for peut être considérée comme l'instruction la plus basique de la partie contrôle de boucle de PHP (et dans de nombreux langages). Les règles d'exécution et l'utilisation de base de l'instruction for ne seront pas abordées ici. Vous pouvez vous référer à la section sur l'instruction for. du manuel PHP. Sa syntaxe est définie dans le manuel PHP comme suit :
for (expr1; expr2; expr3)
déclaration
Parlons de plusieurs variantes utiles de la déclaration for.
1. Boucle infinie
Tout d'abord, c'est la boucle infinie (aussi appelée « boucle morte ») que tout le monde connaît. Puisque l’expression vide null est syntaxiquement valide, nous pouvons laisser les trois expressions de l’instruction for vides, ce qui aura pour effet d’exécuter en continu des instructions for imbriquées.
<?php
pour (;;) {
//Place les instructions qui doivent être exécutées en continu
}
?>
Bien que certaines tâches utilisent des boucles infinies, la plupart des tâches du programme, en particulier les champs que PHP peut impliquer, ajouteront des conditions pour terminer la boucle lors de l'utilisation de boucles infinies.
<?php
pour (;;) {
//S'il s'agit de 2199 après JC, sortez de la boucle if (date('Y') == '2199') {
casser;
}
}
?>
2. Utiliser des expressions vides
Parlons ensuite de l'utilisation de 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
si (isset($i)) {
non défini($i);
si ((int) date('') < 2008) {
$je = 0 ;
} autre {
$je = 1 ;
}
} autre {
$je =3;
}
pour (;$i < 10;$i++) {
écho $i;
}
?>
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
L'utilisation de 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
pour ($i = 0, $j = 10;$i <= 10;$i++, $j--) {
echo "$i + $j = 10rn";
}
?>
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
4. Expressions plus complexes
Si les trois expressions de l'instruction for sont écrites de manière plus complexe, elles peuvent être utilisées pour des 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
//Calculer le résultat cumulé de 1 à 5, valeur bin à $j
pour ($i = 1,$j = 0; $i <= 5;$j += $i++);
echo $j;
//Calculer le résultat factoriel de 1-5, valeur bin à $j
pour ($i = 1,$j = 1; $i <= 5;$j *= $i++);
echo $j;
?>
PHP utilise la syntaxe du langage C et aura également les caractéristiques du C dans une certaine mesure. Par exemple, la puissante instruction de boucle for est un exemple typique.