Maison > développement back-end > Problème PHP > Cinquième apprentissage de la boucle PHP : comment sortir de la boucle ? Brève analyse de 5 méthodes

Cinquième apprentissage de la boucle PHP : comment sortir de la boucle ? Brève analyse de 5 méthodes

青灯夜游
Libérer: 2023-03-11 21:08:01
original
16103 Les gens l'ont consulté

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.&#39; <br>&#39;;
    }
?>
Copier après la connexion

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
Copier après la connexion

方法2:使用break语句

break语句用于跳出当前的语法结构,可以终止循环体的代码并立即跳出当前的循环,执行循环之后的代码。

break和continue的不同点是:continue语句只是结束本次循环,而 break 语句会终止整个循环的执行。

沿用上面的示例1中代码,将continue;换成break;,会输出什么?

<?php
    for ($i = 1; $i <= 10; $i++) {
        if($i % 2 != 0) {
            break;
        }
        echo $i.&#39; <br>&#39;;
    }
?>
Copier après la connexion

答案是:什么也不输出。为什么会这样尼?我们来分析一下:

forx循环一开始,$i=1,1小于10吗?当然,然后开始执行循环体中的if($i % 2 != 0)语句;

那么1能整除2吗?显然是不能,因此()中值为true,则执行if中的“break;”语句,直接跳出整个循环了,根本没有机会执行“echo $i.&#39; <br>&#39;

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.&#39; <br>&#39;;
}
a:
?>
Copier après la connexion

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.

Utilisez le code de l'exemple 1 ci-dessus et remplacez continue; par break;. Qu'est-ce qui sera généré ?

1
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

La réponse est :
Ne produit rien

. 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.' &lt ;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.

goto lui-même n'a pas pour fonction de terminer la boucle, mais sa position de saut lui permet d'être utilisé comme un saut hors de la boucle.

Jetons un coup d'œil à l'exemple de code ci-dessous.

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.&#39; <br>&#39;;
}
?>
Copier après la connexion
Sortie :
1
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

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.&#39; <br>&#39;;
}
?>
Copier après la connexion
🎜Output : 🎜
1
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
🎜die()/exit() n'accepte qu'un seul paramètre, qui peut être spécifique La valeur peut également être une chaîne, ou vous ne pouvez saisir aucun paramètre. Si le paramètre est une chaîne, PHP affichera la chaîne directement. Si le paramètre est un entier (la plage est comprise entre 0 et 254), ce paramètre sera utilisé comme état final. 🎜🎜🎜🎜Méthode 5 : instruction return 🎜🎜🎜🎜L'instruction return est utilisée pour terminer un morceau de code et renvoyer un paramètre. 🎜🎜🎜Suivez le code de l'exemple 3 ci-dessus, remplacez l'instruction die() par l'instruction return et regardez le résultat🎜🎜rrreee🎜Sortie : 🎜
1
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

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!

É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