Maison >développement back-end >Problème PHP >Explication détaillée de la façon d'utiliser l'instruction php while loop

Explication détaillée de la façon d'utiliser l'instruction php while loop

PHPz
PHPzoriginal
2023-04-25 18:22:143089parcourir

En PHP, la boucle while est une structure de boucle courante. Il permet à des blocs de code de s'exécuter en continu jusqu'à ce qu'une condition donnée ne soit plus remplie. Dans cet article, nous présenterons en détail la syntaxe de la boucle while, comment l'utiliser et quelques exemples d'application pratiques.

La syntaxe de la boucle while

La boucle while est la même que la boucle while dans d'autres langages de programmation. Elle a le format de syntaxe suivant :

while (条件) {
    代码块
}

Parmi eux, condition représente la condition du. boucle pour continuer, c'est-à-dire lorsque la condition est Le bloc de code sera exécuté lorsque true. Le bloc de code est l'instruction à exécuter dans le corps de la boucle. 条件 表示循环继续的条件,也就是当条件为 true 时代码块会被执行。而 代码块 则是循环体内要执行的语句。

在每一次循环的末尾,循环会再次判断 条件 是否为 true。如果是,就会继续执行循环体中的代码块;如果不是,循环就会结束。

也就是说,while 循环可以执行 0 次或者多次,具体取决于 条件 是否满足。

while 循环的使用方法

下面我们通过一个简单的示例来演示 while 循环的使用方法。假设我们想输出从 1 到 10 的所有整数。我们可以使用 while 循环来实现:

$i = 1;

while ($i <= 10) {
    echo $i . "\n";
    $i++;
}

在上面的代码中,我们首先将变量 $i 赋值为 1。然后使用 while 循环输出从 1 到 10 的所有整数。循环条件是 $i <= 10,也就是只要 i 的值不超过 10,就会一直执行循环体中的代码块。

在循环体中,我们首先使用 echo 函数输出当前 $i 的值,并在其末尾添加一个换行符。然后将 $i 的值加 1,以便下一次循环输出下一个整数。

运行上面的代码,我们会得到以下输出:

1
2
3
4
5
6
7
8
9
10

可以看出,while 循环在循环条件 $i <= 10 满足的情况下,一直执行循环体中的代码块,输出了从 1 到 10 的所有整数。

while 循环的应用

while 循环是一种非常强大和灵活的循环结构。我们可以使用 while 循环来解决许多实际问题,例如:

处理数组元素

我们可以使用 while 循环遍历一个数组,并对其中的每个元素进行处理。例如,假设我们有一个数组存储了一些数字,我们想输出数组中所有大于 10 的元素,可以使用 while 循环来实现:

$nums = [8, 15, 6, 12, 10, 14];
$i = 0;

while ($i < count($nums)) {
    if ($nums[$i] > 10) {
        echo $nums[$i] . "\n";
    }
    $i++;
}

在上面的代码中,我们首先定义了一个数组 $nums,其中包含了一些数字。然后定义了变量 $i,初始值为 0。

接着,我们使用 while 循环遍历数组 $nums 中的所有元素。循环条件是 $i < count($nums),也就是 $i 的值小于 $nums 数组的长度。在每次循环中,我们首先判断当前元素是否大于 10,如果是就使用 echo 输出该元素的值。然后将 $i 的值加 1,以便下一次循环处理下一个元素。

运行上面的代码,我们会得到以下输出:

15
12
14

可以看到,该程序成功输出了数组中所有大于 10 的元素。

无限循环

有时候,我们需要让程序在满足某些特定条件时一直运行,直到手动停止。这时,我们可以使用 while 循环来实现。

例如,假设我们想让程序一直输出当前时间,直到用户输入某个特定命令为止,可以使用 while 循环来实现:

while (true) {
    echo date('Y-m-d H:i:s') . "\n";
    $input = readline();

    if ($input === 'stop') {
        break;
    }
}

在上面的代码中,我们使用 while 循环来输出当前时间,并等待用户的输入。循环条件是 true,也就是无论什么情况下都会执行循环体中的代码块。

在每次循环中,我们首先使用 date 函数输出当前时间,并在其末尾添加一个换行符。然后使用 readline 函数等待用户的输入。如果用户输入了 stop,则使用 break 语句退出循环。

运行上面的代码,我们会看到输出结果不断刷新,直到我们输入了 stop 来停止程序。

逐行读取文件

我们可以使用 while 循环来逐行读取一个文件。例如,假设我们有一个文件名为 test.txt,其中每行包含一个数字,我们想读取其中的所有数字并显示出来,可以使用 while 循环来实现:

$file = fopen('test.txt', 'r');

while (($line = fgets($file)) !== false) {
    echo $line;
}

fclose($file);

在上面的代码中,我们首先使用 fopen 函数打开文件 test.txt,并使用 r 模式来表示只读该文件。然后使用 while 循环逐行读取文件,当读取到文件结尾时返回 false 以结束循环。

在每次循环中,我们使用 fgets 函数逐行读取文件,并将读取的行赋值给变量 $line。然后使用 echo 函数输出当前行的内容。

最后,我们使用 fclose

À la fin de chaque boucle, la boucle déterminera à nouveau si la condition est true. Si tel est le cas, le bloc de code dans le corps de la boucle continuera à être exécuté ; sinon, la boucle se terminera. 🎜🎜En d'autres termes, la boucle while peut être exécutée 0 fois ou plus, selon que la condition est remplie ou non. 🎜🎜Comment utiliser la boucle while🎜🎜 Ci-dessous, nous utilisons un exemple simple pour démontrer l'utilisation de la boucle while. Supposons que nous souhaitions afficher tous les entiers de 1 à 10. Nous pouvons le faire en utilisant une boucle while : 🎜rrreee🎜Dans le code ci-dessus, nous attribuons d'abord la variable $i à une valeur de 1. Utilisez ensuite une boucle while pour afficher tous les entiers de 1 à 10. La condition de boucle est $i <= 10, c'est-à-dire que tant que la valeur de i ne dépasse pas 10, le bloc de code dans le corps de la boucle sera exécuté . 🎜🎜Dans le corps de la boucle, nous utilisons d'abord la fonction echo pour afficher la valeur actuelle de $i et ajoutons un caractère de nouvelle ligne à la fin. Ajoutez ensuite 1 à la valeur de $i afin que l'entier suivant soit affiché la prochaine fois dans la boucle. 🎜🎜Exécutez le code ci-dessus, nous obtiendrons le résultat suivant : 🎜rrreee🎜On peut voir que la boucle while exécutera toujours le code dans le corps de la boucle lorsque la condition de la boucle $i <= 10 est un bloc satisfait, qui génère tous les entiers de 1 à 10. 🎜🎜Application de la boucle while🎜🎜while loop est une structure de boucle très puissante et flexible. Nous pouvons utiliser les boucles while pour résoudre de nombreux problèmes pratiques, tels que : 🎜

Traitement des éléments d'un tableau

🎜Nous pouvons utiliser des boucles while pour parcourir un tableau et traiter chaque élément qu'il contient. Par exemple, supposons que nous ayons un tableau qui stocke des nombres et que nous souhaitions afficher tous les éléments du tableau supérieurs à 10. Nous pouvons utiliser une boucle while pour y parvenir : 🎜rrreee🎜Dans le code ci-dessus, nous définissons d'abord un tableau $nums , qui contient des nombres. Ensuite, la variable $i est définie, avec une valeur initiale de 0. 🎜🎜Ensuite, nous utilisons une boucle while pour parcourir tous les éléments du tableau $nums. La condition de boucle est $i < count($nums), c'est-à-dire que la valeur de $i est inférieure à la longueur de $nums code> tableau. Dans chaque boucle, nous déterminons d'abord si l'élément actuel est supérieur à 10, et si c'est le cas, utilisons <code>echo pour afficher la valeur de l'élément. Incrémentez ensuite la valeur de $i de 1 afin que la prochaine itération de la boucle traite l'élément suivant. 🎜🎜Exécutez le code ci-dessus, nous obtiendrons le résultat suivant : 🎜rrreee🎜Comme vous pouvez le voir, le programme génère avec succès tous les éléments supérieurs à 10 dans le tableau. 🎜

Boucle Infinie

🎜Parfois, nous devons laisser le programme s'exécuter jusqu'à ce que certaines conditions soient remplies jusqu'à ce qu'il soit arrêté manuellement. À ce stade, nous pouvons utiliser une boucle while pour y parvenir. 🎜🎜Par exemple, supposons que nous voulions que le programme affiche l'heure actuelle jusqu'à ce que l'utilisateur entre une commande spécifique. Cela peut être réalisé en utilisant une boucle while : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons une boucle while pour afficher l'heure actuelle. et attendez. Entrée de l'utilisateur. La condition de la boucle est true, ce qui signifie que le bloc de code dans le corps de la boucle sera exécuté quelle que soit la situation. 🎜🎜Dans chaque boucle, nous utilisons d'abord la fonction date pour afficher l'heure actuelle et ajouter un caractère de nouvelle ligne à la fin de celle-ci. Utilisez ensuite la fonction readline pour attendre la saisie de l'utilisateur. Si l'utilisateur entre stop, utilisez l'instruction break pour quitter la boucle. 🎜🎜Exécutez le code ci-dessus, nous verrons que les résultats de sortie sont continuellement actualisés jusqu'à ce que nous entrions stop pour arrêter le programme. 🎜

Lire un fichier ligne par ligne

🎜Nous pouvons utiliser une boucle while pour lire un fichier ligne par ligne. Par exemple, supposons que nous ayons un fichier nommé test.txt, dans lequel chaque ligne contient un nombre. Nous voulons lire tous les nombres qu'il contient et les afficher. Nous pouvons utiliser une boucle while pour y parvenir. : 🎜rrreee🎜In Dans le code ci-dessus, nous utilisons d'abord la fonction fopen pour ouvrir le fichier test.txt, et utilisons le mode r pour indiquer que le fichier est en lecture seule. Utilisez ensuite une boucle while pour lire le fichier ligne par ligne, et renvoyez false lorsque la fin du fichier est lue pour terminer la boucle. 🎜🎜Dans chaque boucle, nous utilisons la fonction fgets pour lire le fichier ligne par ligne, et affectons les lignes lues à la variable $line. Utilisez ensuite la fonction echo pour afficher le contenu de la ligne actuelle. 🎜🎜Enfin, nous utilisons la fonction fclose pour fermer le handle de fichier. 🎜

Il convient de noter que si le contenu du fichier est trop volumineux, la lecture ligne par ligne peut entraîner un ralentissement du programme ou un débordement de la mémoire. À l’heure actuelle, vous pouvez envisager d’utiliser d’autres méthodes pour lire le fichier.

Résumé

La boucle while est une structure de boucle couramment utilisée en PHP et peut être utilisée dans une variété de scénarios d'application pratiques. Lorsque vous utilisez des boucles while, vous devez faire attention à l'exactitude des conditions de la boucle, sinon cela pourrait entraîner une boucle infinie ou une exécution inattendue.

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!

Déclaration:
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