PHP | array_column()函数
array_column() 是PHP中的一个内置函数,用于从输入数组中的单个列返回值。
句法:
array array_column($input_array, $column_number, $index_key);
参数:
在三个参数中,两个是必需的,一个是可选的。我们来看看参数。
- $input_array(强制):这个参数是指我们要从中提取特定列的所有值的原始多维数组。
- $column_number(强制):该参数是指需要返回的值的列。此值可能是列的整数键,也可能是关联数组或属性名称的字符串键名。返回完整的数组或对象也可能为 NULL。
- $index_key(可选):这是一个可选参数,指的是用作输出中返回数组的索引/键的列。该值可能是列的整数键,也可能是字符串键名。
返回类型:如语法所示,array_column()函数的返回类型为数组。也就是说,该函数返回一个数组,该数组包含输入数组的单列中的值,由 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():
C++
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));
?>
C++
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程序:
C++
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
)