Home  >  Article  >  Backend Development  >  How to obtain multidimensional array in php

How to obtain multidimensional array in php

王林
王林Original
2023-05-11 09:38:07747browse

In PHP programming, multidimensional arrays are one of the most common data structures. Multidimensional array means that each element in an array is also an array. This kind of array is more structured than one-dimensional array. When operating on multi-dimensional arrays, we need to know how to obtain the values. This article will introduce how to obtain multi-dimensional arrays.

1. Basic operations

Getting the values ​​in a two-dimensional array is very simple. Just use square brackets and subscripts like a one-dimensional array. For example: $arr0, so you can get the second value in the first element in the array.

2. Loop traversal

If the multi-dimensional array has more than two dimensions, then the use of basic operations will become extremely cumbersome. At this time we can use a loop to easily traverse and obtain the values ​​in the multi-dimensional array. The code is implemented as follows:

foreach($arr as $key1=>$val1){
    foreach($val1 as $key2=>$val2){
        echo $arr[$key1][$key2];
    }
}

As you can see, we get the subscript and value of the one-dimensional array in the outer loop, and after entering the inner loop, we get the subscript and value of the two-dimensional array, and then output That’s it.

3. Recursive acquisition

If the multidimensional array has many dimensions, it will be very cumbersome to use loop traversal. At this time we can use recursive functions to obtain values ​​in multi-dimensional arrays.

The implementation method of the recursive function is to determine whether the currently obtained element is an array, and if so, continue to recursively obtain it until the value of the last dimension is obtained. The sample code is as follows:

function get_val($arr){
    foreach($arr as $val){
        if(is_array($val)){
            get_val($val);
        }else{
            echo $val;
        }
    }
}

As you can see, we first determine whether the currently obtained value is an array. If so, continue to call the recursive function. If not, output. In this way, no matter how many dimensions the array is, you can use recursive functions to get the values ​​in it.

4. Using array_column

PHP provides an array_column function that can help us obtain the specified column in a multi-dimensional array. The syntax of this function is as follows:

array_column($arr, $column_key [, $index_key]);

Among them, the $arr parameter is the array of values ​​to be obtained, the $column_key parameter is the subscript of the column to be obtained, and the $index_key parameter is the subscript of the new array. If $index_key is not specified, a numeric index starting from 0 will be used.

The sample code is as follows:

$arr = array(
    array('id'=>1, 'name'=>'Tom', 'age'=>18),
    array('id'=>2, 'name'=>'Jerry', 'age'=>20),
    array('id'=>3, 'name'=>'Lucy', 'age'=>22)
);
$name_arr = array_column($arr, 'name');

In the above code, we use the array_column function to obtain the 'name' column in the array $arr. The final $name_arr array is the collection of all names in the array, where each element is a string corresponding to the 'name' value of each element in the array.

Summary:

In PHP, obtaining multi-dimensional arrays is a very basic and important operation. Through the introduction of this article, we can know several acquisition methods such as basic operations, loop traversal, recursive acquisition, array_column function, etc. Different acquisition methods are suitable for different scenarios and can be selected and used according to the actual situation.

The above is the detailed content of How to obtain multidimensional 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