Home > Article > Backend Development > Explain the related methods of returning multiple specified columns in an array in PHP
php array_column The method can return one column specified in the array, but cannot return multiple columns. This article will introduce the use of the array_column method, and use code to demonstrate the return of multiple columns specified in the array. method.
1.array_column description
array_column can return a specified column in the array
array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )
Parameter description:
input
The multi-dimensional array of the array column needs to be retrieved. If an array containing a set of objects is provided, only the public properties will be retrieved directly. In order to also retrieve private and protected properties, the class must implement the __get() and __isset() magic methods.
column_key
The column that needs to return a value, it can be the column index of the index array, or the key of the column of the associative array, or it can be an attribute name. It can also be NULL, in which case the entire array will be returned (very useful when used with the index_key parameter to reset the array key)
index_key
as return The index/key column of the array, which can be the integer index of the column, or the string key value.
Example:
Return the name column in the array
<?php$arr = array( array('id'=>1001, 'name'=>'fdipzone', 'age'=>18, 'profession'=>'programmer'), array('id'=>1002, 'name'=>'terry', 'age'=>19, 'profession'=>'designer'), array('id'=>1003, 'name'=>'alex', 'age'=>20, 'profession'=>'tester'), );$result = array_column($arr, 'name'); print_r($result);?>
Output:
Array( [0] => fdipzone [1] => terry [2] => alex )
The array_column method can return a specified column in the array, but cannot return multiple columns. So the following method was written to support returning multiple columns in the array, parameter call Similar to array_column.
<?php/** * 返回数组中指定多列 * * @param Array $input 需要取出数组列的多维数组 * @param String $column_keys 要取出的列名,逗号分隔,如不传则返回所有列 * @param String $index_key 作为返回数组的索引的列 * @return Array */function array_columns($input, $column_keys=null, $index_key=null){ $result = array(); $keys =isset($column_keys)? explode(',', $column_keys) : array(); if($input){ foreach($input as $k=>$v){ // 指定返回列 if($keys){ $tmp = array(); foreach($keys as $key){ $tmp[$key] = $v[$key]; } }else{ $tmp = $v; } // 指定索引列 if(isset($index_key)){ $result[$v[$index_key]] = $tmp; }else{ $result[] = $tmp; } } } return $result; }// 演示代码$arr = array( array('id'=>1001, 'name'=>'fdipzone', 'age'=>18, 'profession'=>'programmer'), array('id'=>1002, 'name'=>'terry', 'age'=>19, 'profession'=>'designer'), array('id'=>1003, 'name'=>'alex', 'age'=>20, 'profession'=>'tester'), );echo '指定返回列及索引列'.PHP_EOL;$result = array_columns($arr, 'name,profession', 'id'); print_r($result);echo PHP_EOL.'指定返回列,不指定索引列'.PHP_EOL;$result = array_columns($arr, 'name,profession'); print_r($result);echo PHP_EOL.'不指定返回列,指定索引列'.PHP_EOL;$result = array_columns($arr, null, 'id'); print_r($result);echo PHP_EOL.'不指定返回列,不指定索引列'.PHP_EOL;$result = array_columns($arr); print_r($result);?>
Output:
指定返回列及索引列Array( [1001] => Array ( [name] => fdipzone [profession] => programmer ) [1002] => Array ( [name] => terry [profession] => designer ) [1003] => Array ( [name] => alex [profession] => tester ) ) 指定返回列,不指定索引列Array( [0] => Array ( [name] => fdipzone [profession] => programmer ) [1] => Array ( [name] => terry [profession] => designer ) [2] => Array ( [name] => alex [profession] => tester ) ) 不指定返回列,指定索引列Array( [1001] => Array ( [id] => 1001 [name] => fdipzone [age] => 18 [profession] => programmer ) [1002] => Array ( [id] => 1002 [name] => terry [age] => 19 [profession] => designer ) [1003] => Array ( [id] => 1003 [name] => alex [age] => 20 [profession] => tester ) ) 不指定返回列,不指定索引列Array( [0] => Array ( [id] => 1001 [name] => fdipzone [age] => 18 [profession] => programmer ) [1] => Array ( [id] => 1002 [name] => terry [age] => 19 [profession] => designer ) [2] => Array ( [id] => 1003 [name] => alex [age] => 20 [profession] => tester ) )
This article explains the related methods of php returning multiple columns specified in the array. For more related content, please pay attention to the php Chinese website.
Related recommendations:
Detailed explanation of PHP-based redis counter class
Detailed explanation of PHP method of checking whether it matches the specified time period
How to get access to device information using JS
The above is the detailed content of Explain the related methods of returning multiple specified columns in an array in PHP. For more information, please follow other related articles on the PHP Chinese website!