Home  >  Article  >  Backend Development  >  Detailed explanation of how to use php while loop statement

Detailed explanation of how to use php while loop statement

PHPz
PHPzOriginal
2023-04-25 18:22:143002browse

In PHP, the while loop is a common loop structure. It allows blocks of code to execute continuously until a given condition is no longer met. In this article, we will introduce the syntax of while loop in detail, how to use it, and some practical application examples.

The syntax of while loop

The while loop is the same as the while loop in other programming languages. It has the following syntax format:

while (条件) {
    代码块
}

Among them, condition Indicates the condition for loop continuation, that is, the code block will be executed when the condition is true. The code block is the statement to be executed within the loop body.

At the end of each loop, the loop will again determine whether the condition is true. If it is, the code block in the loop body will continue to be executed; if not, the loop will end.

In other words, the while loop can be executed 0 or more times, depending on whether the conditions are met.

How to use while loop

Below we use a simple example to demonstrate the use of while loop. Suppose we want to output all integers from 1 to 10. We can use a while loop to achieve this:

$i = 1;

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

In the above code, we first assign the variable $i to 1. Then use a while loop to output all integers from 1 to 10. The loop condition is $i <= 10, that is, as long as the value of i does not exceed 10, the code block in the loop body will be executed.

In the loop body, we first use the echo function to output the current value of $i and add a newline character at the end. Then add 1 to the value of $i so that the next integer is output the next time through the loop.

Run the above code, we will get the following output:

1
2
3
4
5
6
7
8
9
10

It can be seen that when the loop condition $i <= 10 is satisfied, the while loop The code block in the loop body is executed and all integers from 1 to 10 are output.

Application of while loop

The while loop is a very powerful and flexible loop structure. We can use while loops to solve many practical problems, such as:

Processing array elements

We can use while loops to traverse an array and process each element in it. For example, suppose we have an array that stores some numbers, and we want to output all elements in the array that are greater than 10. We can use a while loop to achieve this:

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

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

In the above code, we first define an array$nums, which contains some numbers. Then the variable $i is defined, with an initial value of 0.

Next, we use a while loop to iterate through all elements in the array $nums. The loop condition is $i < count($nums), that is, the value of $i is less than the length of the $nums array. In each loop, we first determine whether the current element is greater than 10, and if so, use echo to output the value of the element. Then increase the value of $i by 1 so that the next loop processes the next element.

Run the above code, we will get the following output:

15
12
14

As you can see, the program successfully outputs all elements greater than 10 in the array.

Infinite Loop

Sometimes, we need to let the program run until certain conditions are met until it is stopped manually. At this time, we can use a while loop to achieve this.

For example, suppose we want the program to keep outputting the current time until the user enters a specific command. We can use a while loop to achieve this:

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

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

In the above code, we use while Loop to output the current time and wait for user input. The loop condition is true, which means that the code block in the loop body will be executed no matter what the situation.

In each loop, we first use the date function to output the current time and add a newline character at the end of it. Then use the readline function to wait for user input. If the user enters stop, use the break statement to exit the loop.

Run the above code, we will see that the output results are continuously refreshed until we enter stop to stop the program.

Read a file line by line

We can use a while loop to read a file line by line. For example, suppose we have a file named test.txt, in which each line contains a number. We want to read all the numbers in it and display them. We can use a while loop to achieve this:

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

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

fclose($file);

In the above code, we first use the fopen function to open the file test.txt, and use the r mode to indicate that the file is read-only. Then use a while loop to read the file line by line, and return false when the end of the file is read to end the loop.

In each loop, we use the fgets function to read the file line by line and assign the read lines to the variable $line. Then use the echo function to output the contents of the current line.

Finally, we use the fclose function to close the file handle.

It should be noted that if the file content is too large, reading line by line may cause the program to run slower or memory to overflow. At this time, you can consider using other methods to read the file.

Summary

The while loop is a commonly used loop structure in PHP and can be used in a variety of practical application scenarios. When using while loops, you need to pay attention to the correctness of the loop conditions, otherwise it may result in an infinite loop or unexpected execution.

The above is the detailed content of Detailed explanation of how to use php while loop statement. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn