Home  >  Article  >  Backend Development  >  How to traverse a two-dimensional array in php

How to traverse a two-dimensional array in php

王林
王林Original
2019-09-24 17:54:099340browse

How to traverse a two-dimensional array in php

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 . &#39;<br>&#39;;
    print_r($v);
    echo &#39;<br>&#39;;
    foreach ($a[$k] as $index => $value) {
        echo $k . &#39;<br>&#39;;
        echo $index . &#39;<br>&#39;;
        echo $value . &#39;<br>&#39;;
    }
}

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.

How to traverse a two-dimensional array in php

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 (    &#39;0&#39; => Array ( &#39;jid&#39; => 10,&#39;j名&#39; => 10,&#39;jabstract&#39; => 10,&#39;jprovider&#39; => 10,&#39;jintroduction&#39; => &#39;厉害人物&#39;),
   &#39;1&#39; => Array ( &#39;jid&#39; => 8 ,&#39;j名&#39; => 8, &#39;jabstract&#39; => 8, &#39;jprovider&#39; => 8, &#39;jintroduction&#39; => &#39;厉害人物&#39;)
);
foreach ($b as $k => $v) {
    echo $k.&#39;<br>&#39;;
    print_r($v);
    echo &#39;<br>&#39;;
    foreach ($b[$k] as $index => $value){
        echo $index.&#39;<br>&#39;;
        echo $value.&#39;<br>&#39;;
    }
}

The output is the same as the above principle

How to traverse a two-dimensional array in php

##Note to use utf-8 format, otherwise the output will be garbled.

Recommended tutorial:

PHP video 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!

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