|
array_column函数是PHP中的一个内置函数,用于返回输入数组中指定的一列的值。这个函数接收三个参数:输入数组、键名或索引以及可选的输出类型。如果指定了可选的输出类型,那么结果数组将强制转换为该类型。
array_column() 是 PHP 中的一个函数,用于返回数组中指定的一列,这个函数特别适用于操作二维数组,下面详细解释这个函数的用法:
zbhju2nx4tzq1hv.jpg
(图片来源网络,侵删)
语法
array array_column ( array $input , mixed $column_key [, mixed $index_key ] )
参数
$input : 必需,规定要返回其中一列的输入数组。
$column_key : 可选,需要返回的列的数字或字符串索引,可以是 null。
$index_key : 可选,用作返回数组的索引/键的列的数字或字符串索引,可以是 null。
返回值
返回包含有指定列的数组,如果索引键也指定了,那么结果数组将使用该索引/键作为其索引/键。
zbhjvejvj0ocdz3.jpg
(图片来源网络,侵删)
示例
假设我们有一个二维数组,如下:
$records = array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
),
array(
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
),
array(
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
)
);
我们可以使用array_column() 函数来获取所有的first_name:
$first_names = array_column($records, 'first_name');
print_r($first_names);
这将输出:
Array
(
[0] => John
[1] => Sally
[2] => Jane
[3] => Peter
)
如果我们还想用id 作为新数组的键,我们可以这样做:
$first_names = array_column($records, 'first_name', 'id');
print_r($first_names);
这将输出:
Array
(
[2135] => John
[3245] => Sally
[5342] => Jane
[5623] => Peter
)
zbhj0umgxwg1lej.jpg
(图片来源网络,侵删)
array_column() 是一个在 PHP 中用于从数组中取出一列的函数,下面我将描述这个函数的用法,并以介绍的形式展示。
函数原型:
array array_column ( array $input , mixed $column_key [, mixed $index_key ] )
参数说明:
参数名 | 描述 | 是否必须 | $input | 一个多维数组,或者一个包含数组的数组(例如来自数据库查询的结果)。 | 是 | $column_key | 需要返回列的键名,可以是整数(表示数组索引),字符串(表示对象的属性),或者 null。 | 是 | $index_key | 用来作为返回数组的索引/键名的列的键名,可以是整数(表示数组索引),字符串(表示对象的属性),或者 null。 | 否 |
返回值:
返回一个包含指定列的数组。
例子:
$records = [
['id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe'],
['id' => 3245, 'first_name' => 'Jane', 'last_name' => 'Doe'],
['id' => 5342, 'first_name' => 'Emil', 'last_name' => 'Zatopek']
];
$first_names = array_column($records, 'first_name');
$last_names_by_id = array_column($records, 'last_name', 'id');
在上面的例子中:
$first_names 将是['John', 'Jane', 'Emil']。
$last_names_by_id 将是['2135' => 'Doe', '3245' => 'Doe', '5342' => 'Zatopek']。
注意:array_column() 函数在 PHP 5.5.0 版本以上可用,如果你使用的是更早的版本,你需要自己实现这个功能或者使用 polyfill。 |
|