语法:array_column(array $input, mixed $column_key[, mixed $index_key])
参数说明:
$input:待提取列的数组。$column_key:需要提取的列,可以是字符串key名称,也可以是数字index。$index_key:可选参数,如果指定了该参数,返回的数组将使用该参数的值作为索引key,而不是原始数组的数字key。下面我们来看一个实际的例子:
$students = array(
array('id' => 1, 'name' => 'tom', 'score' => 80),array('id' => 2, 'name' => 'jack', 'score' => 90),array('id' => 3, 'name' => 'mary', 'score' => 85),
);
// 提取成绩列
$scores = array_column($students, 'score');
print_r($scores);
上述代码中,我们有一个$students数组,包含3个学生的信息。我们使用array_column()函数提取了$students数组中的score列,保存到$scores数组中,然后使用print_r()函数输出了$scores数组的值。
运行以上代码,我们可以看到输出:
array
(
[0] => 80[1] => 90[2] => 85
)
可以看到,$scores数组中只包含了$students数组中的score列的值,而没有包含其他列的值。
另外,如果我们想在$scores数组中使用id作为索引key,可以在array_column()函数中传入第三个参数:
$students = array(
array('id' => 1, 'name' => 'tom', 'score' => 80),array('id' => 2, 'name' => 'jack', 'score' => 90),array('id' => 3, 'name' => 'mary', 'score' => 85),
);
// 提取成绩列,并使用id作为索引key
$scores = array_column($students, 'score', 'id');
print_r($scores);
输出结果:
array
(
[1] => 80[2] => 90[3] => 85
)
我们可以看到,$scores数组中每个元素的key都是原始数组中每个学生的id,而值则是对应的成绩。
总结:
在处理二维数组时,php内置函数array_column()是一个非常实用的工具,它可以轻松地提取目标列,避免了重复写循环查找每个键值的繁琐操作,大幅提高了开发效率。
以上就是使用php array_column()获取数组列的详细内容。
