The official document gives two uses of foreach
The foreach syntax structure provides a simple way to traverse the array. foreach can only be applied to arrays and objects. If you try to apply it to variables of other data types, or uninitialized variables, an error message will be issued.
There are two syntaxes:
foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement
The first format traverses the given array_expression array. Each time through the loop, the value of the current cell is assigned to $value and the pointer inside the array is moved forward one step (so the next cell will be obtained in the next loop).
The second format does the same thing, except that the key name of the current unit will also be assigned to the variable $key in each loop.
Recommended related articles:
1.What is a two-dimensional array in php? Detailed explanation of two-dimensional array examples in php
2.php for Corresponding operations on two-dimensional arrays
Related video recommendations:
1.Dugu Jiujian (4)_PHP video tutorial
Let’s look at the second one. The code is as follows:
$a = array( "one" => array(1,2,3,4), "two" => array(5,6,7,8), "three" => array('a','b','c','d') ); foreach ($a as $k => $v) { echo $k . '<br>'; print_r($v); echo '<br>'; foreach ($a[$k] as $index => $value) { echo $k . '<br>'; echo $index . '<br>'; echo $value . '<br>'; } }
As you can see, we set up a two-dimensional array $a and set the index. Part of the output is as follows:
The first line: You can see that $k corresponds to the index of the second-dimensional array, such as "one" in the first array
The second line: $v corresponds to It is a second-dimensional array (because echo output cannot be used directly, print_r is used here), such as the array of the first data (1, 2, 3, 4), in the loop nested in foreach, $ a[$k] represents $v. The output results of writing $a[$k] and writing $v here are the same, because they also represent the same meaning
The third line: $k remains Is the index of the second-dimensional array
The fourth line: $index is the index of the second-dimensional array data, implicitly defined, starting from 0
The fifth line: $value is the second Dimensional array data
The next step is repeated output.
You can see that foerach is indeed a very powerful function. The above is the case where the data index of the second digit array is not defined. Then if the data of the second digit array is also defined The index is actually the same, the foreach statement is also the same
$b=array ( '0' => Array ( 'jid' => 10,'j名' => 10,'jabstract' => 10,'jprovider' => 10,'jintroduction' => '厉害人物'), '1' => Array ( 'jid' => 8 ,'j名' => 8, 'jabstract' => 8, 'jprovider' => 8, 'jintroduction' => '厉害人物') );
foreach ($b as $k => $v) { echo $k.'<br>'; print_r($v); echo '<br>'; foreach ($b[$k] as $index => $value){ echo $index.'<br>'; echo $value.'<br>'; } }
The output is the same as the above principle
##Note to use utf-8 format, otherwise the output will be garbled.
Recommended tutorial:The above is the detailed content of How to traverse a two-dimensional array in php. For more information, please follow other related articles on the PHP Chinese website!