PHP method to get a specified column in an array

小云云
Release: 2023-03-21 19:14:01
Original
5897 people have browsed it

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
	)
);
Copy after login

Method 1: Use PHP built-in function array_column() to achieve

array array_column ( array $input , mixed $column_key [, mixed $index_key ] )
Copy after login

Execution statement:

$result = array_column($arr,'name');
print_r($result);
Copy after login

The result is as follows:

Array
(
    [0] => qu
    [1] => you
    [2] => zheng
    [3] => zhu
)
Copy after login
Copy after login

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);
Copy after login

The results are as follows:

Array
(
    [101] => qu
    [102] => you
    [103] => zheng
    [104] => zhu
)
Copy after login

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 $... ] )
Copy after login

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'];
}
Copy after login

Then act on the array_map() function:

$result = array_map('get_val',$arr);
print_r($result);
Copy after login

The execution result is as follows:

Array
(
    [0] => qu
    [1] => you
    [2] => zheng
    [3] => zhu
)
Copy after login
Copy after login

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);
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template