array_column()是PHP中的内置函数, 用于从输入数组中的单个列返回值。
语法如下:
array array_column($input_array, $column_number, $index_key);
参数:在这三个参数中, 两个是必需的, 一个是可选的。让我们看一下参数。
- $ input_array(强制性):此参数引用原始多维数组, 我们要从中提取特定列的所有值。
- $ column_number(必填):此参数引用需要返回的值的列。此值可以是列的整数键, 也可以是关联数组的字符串键名或属性名。返回完整的数组或对象也可以为NULL。
- $ index_key(可选):这是一个可选参数, 是指要用作输出中返回数组的索引/键的列。此值可以是列的整数键, 也可以是字符串键名。
返回类型:如语法所示, array_column()函数的返回类型为array。也就是说, 该函数返回一个数组, 该数组包含一个由column_number标识的输入数组的单个列中的值。可选地, 还可以提供index_key, 以通过输入数组的index_key列中的值索引返回的数组中的值。
例子:
Input :
array(
array(
'roll' => 5, 'name' => 'Akash', 'hobby' => 'Cricket', ), array(
'roll' => 1, 'name' => 'Rishav', 'hobby' => 'Football', ), array(
'roll' => 3, 'name' => 'Anand', 'hobby' => 'Chess', ), )
$column_number = 'hobby' , $index_key = 'roll'
Output :
Array
(
[5] => Cricket
[1] => Football
[3] => Chess
[4] => Cards
[2] => Basketball
)
在上面的示例中, array_column()函数用于获取键值为" name"的列的值, 并且输出数组中的这些值都与从原始数组中键" roll"的值中获取的键一起存储。
下面的程序说明了具有所有三个参数的array_column():
<?php
// PHP code to illustrate the working of array_column
function Column($details){
$rec = array_column($details, 'name' , 'roll' );
return $rec;
}
// Driver Code
$details = array(
array(
'roll' => 5, 'name' => 'Akash' , 'hobby' => 'Cricket' , ), array(
'roll' => 1, 'name' => 'Rishav' , 'hobby' => 'Football' , ), array(
'roll' => 3, 'name' => 'Anand' , 'hobby' => 'Chess' , ), array(
'roll' => 4, 'name' => 'Gaurav' , 'hobby' => 'Cards' , ), array(
'roll' => 2, 'name' => 'Rahim' , 'hobby' => 'Basketball' , ), );
print_r(Column($details));
?>
输出如下:
Array
(
[5] => Akash
[1] => Rishav
[3] => Anand
[4] => Gaurav
[2] => Rahim
)
我们也可以忽略第三个参数index_key。然后, 在这种情况下, 输出数组中的列将按照数组中给出的线性方式进行索引。下面是说明该问题的PHP程序:
<?php
// PHP code to illustrate the working of array_column
function Column($details){
$rec = array_column($details, 'hobby' );
return $rec;
}
// Driver Code
$details = array(
array(
'roll' => 5, 'name' => 'Akash' , 'hobby' => 'Cricket' , ), array(
'roll' => 1, 'name' => 'Rishav' , 'hobby' => 'Football' , ), array(
'roll' => 3, 'name' => 'Anand' , 'hobby' => 'Chess' , ), array(
'roll' => 4, 'name' => 'Gaurav' , 'hobby' => 'Cards' , ), array(
'roll' => 2, 'name' => 'Rahim' , 'hobby' => 'Basketball' , ), );
print_r(Column($details));
?>
输出如下:
Array
(
[0] => Cricket
[1] => Football
[2] => Chess
[3] => Cards
[4] => Basketball
)