Home >PHP Framework >ThinkPHP >Detailed explanation of foreach usage in ThinkPHP 5

Detailed explanation of foreach usage in ThinkPHP 5

PHPz
PHPzOriginal
2023-04-11 15:08:102348browse

In development, array traversal is a very common operation, and in the ThinkPHP 5 framework, we can use the foreach statement to traverse the array and perform related operations. The following is a detailed introduction to the usage of the foreach statement in ThinkPHP 5.

  1. Basic syntax

The basic syntax of the foreach statement is as follows:

foreach (数组 as 值) {
    //代码块
}

Among them, the array represents the array to be traversed, which can be an array variable, or Can be an array expression. The value represents the key value of each element in the array. After the foreach completes, the value is released.

  1. Ordinary array traversal

First, let’s look at how to traverse an ordinary array:

$data = array('apple', 'banana', 'orange');

foreach ($data as $value) {
    echo $value;
}

In the above code, $data is an ordinary array , use the foreach statement to traverse the array, assign the value of each element to $value in turn, and output the value of each element in a loop.

  1. Associative array traversal

Next, let’s look at how to traverse an associative array, that is, each element in the array has a corresponding key:

$data = array(
    'apple' => '苹果',
    'banana' => '香蕉',
    'orange' => '橘子'
);

foreach ($data as $key => $value) {
    echo $key . ':' . $value . '<br/>';
}

In the above code, $data is an associative array. Use the foreach statement to traverse the array, assign the key-value pair of each element to $key and $value in turn, and output the key and value of each element in a loop.

  1. Multi-dimensional array traversal

In actual development, we will also encounter the situation of multi-dimensional arrays, that is, the elements in the array are also an array. At this point, we can use nested foreach statements to traverse the multidimensional array.

$data = array(
    array('id'=>1, 'name'=>'张三', 'age'=>20),
    array('id'=>2, 'name'=>'李四', 'age'=>25),
    array('id'=>3, 'name'=>'王五', 'age'=>30)
);

foreach ($data as $row) {
    foreach ($row as $key => $value) {
        echo $key . ':' . $value . '<br/>';
    }
    echo '<hr/>';
}

In the above code, $data is a multi-dimensional array, and two foreach statements are used to traverse each element and the array corresponding to this element. Since $row changes after each loop, there is no need to manually release it after the foreach loop ends.

  1. Modify the array during traversal

Sometimes, we need to modify the elements in the array during the process of traversing the array. In this case, we can directly modify the corresponding array elements. :

$data = array(1, 3, 5, 7, 9);

foreach ($data as &$value) {
    $value = $value * 2;
}

print_r($data);

In the above code, the foreach statement is used to traverse the array and multiply the value of each element in the array by 2. Since $value is a reference, it needs to be released manually after the loop ends.

  1. Traverse the empty array

When it is necessary to traverse an empty array, the foreach statement will be skipped directly without any output.

$data = array();

foreach ($data as $value) {
    echo $value;
}

In the above code, $data is an empty array, and the foreach statement is used to traverse the array, but there will be no output.

  1. Summary

In this article, we introduce in detail the basic syntax and common usage of the foreach statement in ThinkPHP 5, including ordinary array traversal, associative array traversal, and multi-dimensional arrays Traverse, modify the array during traversal, etc. It should be noted that when using the foreach statement to traverse an array, you need to choose the appropriate syntax and variable name according to the actual situation to prevent errors.

The above is the detailed content of Detailed explanation of foreach usage in ThinkPHP 5. 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