首页  >  文章  >  后端开发  >  使用PHP array_column()获取数组列

使用PHP array_column()获取数组列

PHPz
PHPz原创
2023-06-27 14:34:371382浏览

在PHP中,有时我们需要从一个二维数组中提取一列数据进行处理,这时可以使用PHP内置函数array_column(),它可以轻松地将一个二维数组中的某一列提取出来。

语法: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()获取数组列的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn