PHP数组 – array_column详解
在PHP中,数组是一种非常常用的数据类型,能够存储多个值。在处理数组时,我们通常需要进行一些常见的操作,例如筛选、提取等。array_column
函数就是用来提取多维数组中特定键对应的值,非常实用。
语法
array_column(array input, mixedcolumn_key, [mixed $index_key = null]) : array
$input
:输入的多维数组$column_key
:要提取的值的键名$index_key
(可选):结果数组的索引关键字
参数
$input
:要提取的多维数组$column_key
:要提取的键名,可以是一个整数或字符串$index_key
:(可选)返回数组使用的索引关键字,它可以是数组中的一个键,通常是为了让返回数组使用多维数组中的一个键值作为索引
返回值
array_column
函数返回一个一维数组,其中包含了多维数组中指定键的值。
示例
示例1:提取多维数组中的某一个键对应的值
$users = [
['id' => 1, 'name' => 'Alice', 'age' => 25],
['id' => 2, 'name' => 'Bob', 'age' => 30],
['id' => 3, 'name' => 'Chris', 'age' => 35],
];
$names = array_column($users, 'name');
print_r($names);
运行结果:
Array
(
[0] => Alice
[1] => Bob
[2] => Chris
)
示例2:提取多维数组中的某一个键对应的值,并指定自定义索引关键字
$users = [
['id' => 1, 'name' => 'Alice', 'age' => 25],
['id' => 2, 'name' => 'Bob', 'age' => 30],
['id' => 3, 'name' => 'Chris', 'age' => 35],
];
$names_with_id = array_column($users, 'name', 'id');
print_r($names_with_id);
运行结果:
Array
(
[1] => Alice
[2] => Bob
[3] => Chris
)
注意事项
- 如果指定的键不存在于数组中,则该键对应的值将是
NULL
。 - 如果索引关键字在多个元素中重复,则最后一个元素将覆盖前一个元素。
结语
array_column
函数可以大大简化我们在数组操作中的代码,使得提取特定键值对应的操作更加方便和高效。