This article mainly shares with you the method of obtaining a specified column in an array in PHP. For a multi-dimensional array (taking a two-dimensional array as an example), it is often necessary to obtain one of the columns. For example, there are several pieces of user data, which is a two-dimensional array. , now we need to get the names of these users, there are many ways to achieve it:
$arr = array( array( 'id'=>'101', 'name'=>'qu', 'age'=>28 ), array( 'id'=>'102', 'name'=>'you', 'age'=>24 ), array( 'id'=>'103', 'name'=>'zheng', 'age'=>22 ), array( 'id'=>'104', 'name'=>'zhu', 'age'=>23 ) );
Method 1: Use PHP built-in function array_column() to achieve
array array_column ( array $input , mixed $column_key [, mixed $index_key ] )
Execution statement:
$result = array_column($arr,'name'); print_r($result);
The result is as follows:
Array ( [0] => qu [1] => you [2] => zheng [3] => zhu )
If the optional parameter index_key is specified, the value of this column in the input array will be used as the return array The key corresponding to the value in .
$result = array_column($arr,'name','id'); print_r($result);
The results are as follows:
Array ( [101] => qu [102] => you [103] => zheng [104] => zhu )
Please use this function with caution, because this function is only valid in PHP5.5 or above.
Method 2: Use PHP built-in function array_map() to implement
array array_map ( callable $callback , array $arr1 [, array $... ] )
array_map() returns an array that contains arr1 All units after the callback has been applied. The first parameter is a callback function, and the return value is an array. Each element of the array is processed by the callback function (callback).
First declare a processing function:
function get_val($arr){ return $arr['name']; }
Then act on the array_map() function:
$result = array_map('get_val',$arr); print_r($result);
The execution result is as follows:
Array ( [0] => qu [1] => you [2] => zheng [3] => zhu )
Here array_map() The first parameter is a callback function, and it is a well-known function defined in advance. Here we can also use anonymous functions like js:
$result = array_map(function($v){ return $v['name']; },$arr);
The execution results are the same.
Related recommendations:
Code sharing for PHP querying different elements in two arrays
php determines whether an element appears in an array
php How to delete a value element in a one-dimensional array
The above is the detailed content of PHP method to get a specified column in an array. For more information, please follow other related articles on the PHP Chinese website!