定义和用法
PHP 版本: 5.5+
array_column() 返回输入数组中某个单一列的值。
语法
array array_column ( array $array
, [mixed] $column_key
[, [mixed] $index_key
] )
-
array
必需。规定要使用的多维数组(记录集)。 -
column_key
必需。需要返回值的列。可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。 -
index_key
可选。用作返回数组的索引/键的列。
实例
- 实例1:从记录集中取出 last_name 列,用相应的 "id" 列作为键值:
<?php
// 表示由数据库返回的可能记录集的数组
$a = [
['id' => 1, 'first_name' => 'Bill','last_name' => 'Gates'],
['id' => 2, 'first_name' => 'Steve','last_name' => 'Jobs'],
['id' => 3, 'first_name' => 'Mark','last_name' => 'Zuckerberg'],
];
$last_names = array_column($a, 'last_name', 'id');
print_r($last_names);
?>
输出:
Array
(
[1] => Gates
[2] => Jobs
[3] => Zuckerberg
)
- 实例2:重置数组键,已 first_name 为数组的键
$a = [
['id' => 1, 'first_name' => 'Bill','last_name' => 'Gates'],
['id' => 2, 'first_name' => 'Steve','last_name' => 'Jobs'],
['id' => 3, 'first_name' => 'Mark','last_name' => 'Zuckerberg'],
];
$array = array_column($a,NULL, 'first_name');
print_r($array );
输出
Array
(
[Bill] => Array
(
[id] => 1
[first_name] => Bill
[last_name] => Gates
)
[Steve] => Array
(
[id] => 2
[first_name] => Steve
[last_name] => Jobs
)
[Mark] => Array
(
[id] => 3
[first_name] => Mark
[last_name] => Zuckerberg
)
)