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));
?>
output:
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));
?>
output:
Array
(
[0] => Cricket
[1] => Football
[2] => Chess
[3] => Cards
[4] => Basketball
)