Home >Backend Development >PHP Tutorial >PHP method to get a specified column in an array

PHP method to get a specified column in an array

小云云
小云云Original
2018-03-20 14:33:435941browse

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!

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