Dans l'article précédent, nous vous avons amené à apprendre plusieurs structures de contrôle de boucle en PHP (boucle while, boucle do-while, boucle for et boucle foreach), et avons introduit l'instruction de boucle for et le foreach instruction de boucle pour parcourir le tableau. Si vous êtes intéressé, vous pouvez cliquer sur le lien pour le voir. J'espère que cela sera utile à tout le monde !
Une instruction de boucle peut effectuer une opération à plusieurs reprises lorsque la condition est remplie, mais parfois la condition a été remplie mais la boucle n'est pas encore terminée. À ce stade, vous devez sortir de la boucle. Alors comment sortir de la boucle en PHP ? Aujourd'hui, je vais partager avec vous 5 façons de sortir des boucles : l'instruction continue, l'instruction break, l'instruction goto, l'instruction die()/exit() et l'instruction return.
Méthode 1 : utilisez l'instruction continue
La fonction de l'instruction continue est de sortir de cette boucle puis d'exécuter la boucle suivante (abandonner le code après l'instruction continue et passer à la boucle suivante).
Jetons un coup d'œil à l'exemple de code ci-dessous.
Exemple 1 : Afficher tous les nombres pairs entre 1 et 10 (les nombres pairs peuvent être divisibles par 2)
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { continue; } echo $i.' <br>'; } ?>
Analyse :
pour ($i = 1; $i <= 10; $ i++){}
L'instruction peut être utilisée pour parcourir tous les nombres compris entre 1 et 10for ($i = 1; $i <= 10; $i++){}
语句可以循环得出1~10 之间的所有数字
if($i % 2 != 0)
语句用于判断$i
的值能整除2,不能整除则()
中值为true,则执行continue;
语句。
在循环体中,使用if($i % 2 != 0)
语句进行判断,如果$i的值能整除2就使用“echo $i
”输出;如果$i的值不能整除2,则触发continue;
语句,跳出本次循环(不进行输出),执行下一次循环。
输出结果:
2 4 6 8 10
方法2:使用break语句
break语句用于跳出当前的语法结构,可以终止循环体的代码并立即跳出当前的循环,执行循环之后的代码。
break和continue的不同点是:continue语句只是结束本次循环,而 break 语句会终止整个循环的执行。
沿用上面的示例1中代码,将continue;
换成break;
,会输出什么?
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { break; } echo $i.' <br>'; } ?>
答案是:什么也不输出。为什么会这样尼?我们来分析一下:
forx循环一开始,$i=1
,1小于10吗?当然,然后开始执行循环体中的if($i % 2 != 0)
语句;
那么1能整除2吗?显然是不能,因此()
中值为true,则执行if中的“break;”语句,直接跳出整个循环了,根本没有机会执行“echo $i.' <br>'
if($i % 2 != 0)
L'instruction est utilisé pour déterminer< La valeur de code>$i peut être divisée également par 2. Si elle ne peut pas être divisée également, alors la valeur dans ()
est vraie et continue ;
sera exécutée. Dans le corps de la boucle, utilisez l'instruction if($i % 2 != 0)
pour porter un jugement Si la valeur de $i peut être divisée uniformément par 2, utilisez la sortie "echo $ i
" ; si la valeur de $i ne peut pas être divisée également par 2, l'instruction continue;
est déclenchée, sortant de cette boucle (sans sortie ), et exécuter la boucle suivante.
Résultat de sortie :
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 == 0) { goto a; } echo $i.' <br>'; } a: ?>
Méthode 2 : Utiliser l'instruction break
L'instruction break est utilisée pour sortir de la structure syntaxique actuelle. Elle peut terminer le code du. corps de la boucle et sortez immédiatement de la boucle actuelle, exécutez le code après la boucle.
La différence entre break et continue est que l'instruction continue termine uniquement la boucle en cours, tandis que l'instruction break termine l'exécution de la boucle entière.
Ne produit rienUtilisez le code de l'exemple 1 ci-dessus et remplacez
continue;
parbreak;
. Qu'est-ce qui sera généré ?La réponse est :1Copier après la connexionCopier après la connexionCopier après la connexionCopier après la connexion
. Pourquoi cela se produit-il ? Analysons-le : Au début de la boucle forx, $i=1
, est-ce que 1 est inférieur à 10 ? Bien sûr, commencez ensuite à exécuter l'instruction if($i % 2 != 0)
dans le corps de la boucle Alors, 1 peut-il être divisé par 2 ? Évidemment, ce n'est pas le cas, donc si la valeur de ()
est vraie, alors l'instruction "break;" dans if est exécutée, sortant directement de la boucle entière, et il n'y a aucune chance d'exécuter " echo $i.' < ;br>'
".
Méthode 3 : instruction goto
La fonction de goto est de sauter l'exécution du programme de la position actuelle à n'importe quelle autre position. L'emplacement cible peut être marqué avec le nom de la cible suivi de deux points (par exemple nom : ), et l'instruction de saut est goto suivie de la marque de l'emplacement cible.
Exemple 2 : Afficher tous les nombres impairs entre 1 et 10 (les nombres impairs ne peuvent pas être divisibles par 2) <?php
header("Content-type:text/html;charset=utf-8");
for ($i = 1; $i <= 10; $i++) {
if($i % 2 == 0) {
die();
}
echo $i.' <br>';
}
?>
1
goto n'est en fait qu'un opérateur, et son utilisation a certaines restrictions : la position cible du saut Ne peut être que dans le même fichier et la même portée. L'opérateur
goto n'est valable qu'en PHP5.3 et supérieur.
Méthode 4 : instruction die()/exit() 🎜🎜🎜🎜Les deux noms exit et die pointent vers la même fonction. 🎜🎜Le rôle de die()/exit() : pour terminer l'exécution du programme et peut être utilisé n'importe où. 🎜🎜🎜Suivez le code de l'exemple 3 ci-dessus, remplacez l'instruction goto par die() et regardez le résultat🎜🎜🎜<?php header("Content-type:text/html;charset=utf-8"); for ($i = 1; $i <= 10; $i++) { if($i % 2 == 0) { return; } echo $i.' <br>'; } ?>
1
1
return语句可以在一个函数里调用,也可以从一个include()或者require()语句包含的文件里来调用,也可以是在主程序里调用。
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
推荐:《PHP面试题大汇总(收藏)》
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!