语法
array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ) : array
array_column() 返回input
数组中键值为column_key
的列, 如果指定了可选参数index_key
,那么input
数组中的这一列的值将作为返回数组中对应值的键。
参数
input
:需要取出数组列的多维数组。 如果提供的是包含一组对象的数组,只有 public 属性会被直接取出。 为了也能取出 private 和 protected 属性,类必须实现 __get() 和 __isset() 魔术方法。
column_key
:需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键,也可以是属性名。 也可以是NULL
,此时将返回整个数组(配合index_key
参数来重置数组键的时候,非常管用)
index_key
:作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。
返回值
从多维数组中返回单列数组。
------以上内容摘抄自PHP手册。
示例1
提取数组中的一列:
$arr = [
['id' => 21, 'name' => 'value1'],
['id' => 34, 'name' => 'value2'],
['id' => 56, 'name' => 'value3']
];
$result = array_column($arr, 'name');
print_r($result);
以上代码输出:
Array
(
[0] => value1
[1] => value2
[2] => value3
)
示例2
提取数组中的一列,并使用另一列作为键:
$arr = [
['id' => 21, 'name' => 'value1'],
['id' => 34, 'name' => 'value2'],
['id' => 56, 'name' => 'value3']
];
$result = array_column($arr, 'name', 'id');
print_r($result);
以上代码输出:
Array
(
[21] => value1
[34] => value2
[56] => value3
)
示例3
当第二个参数为null时,返回整个数组:
$arr = [
['id' => 21, 'name' => 'value1'],
['id' => 34, 'name' => 'value2'],
['id' => 56, 'name' => 'value3']
];
$result = array_column($arr, null, 'id');
print_r($result);
以上代码输出:
Array
(
[21] => Array
(
[id] => 21
[name] => value1
)
[34] => Array
(
[id] => 34
[name] => value2
)
[56] => Array
(
[id] => 56
[name] => value3
)
)
快来评论一下吧!
发表评论