使用 array_column
函数轻松管理 PHP 数组PHP 是一种广泛应用于 Web 开发的开源脚本语言。对于PHP程序员来说,数据处理是非常重要的一环。处理大量数据并对其进行高效处理是每个 PHP 程序员必须掌握的技能。本文介绍了一个非常有用的 PHP 函数 - array_column(),它可以让您轻松管理 PHP 数组。
1。 array_column 函数是什么
首先我们看一下array_column函数定义:
array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ) : array
array_column函数用于从数组中获取指定列的值。
其中,$input是一个可处理的多维数组; $column_key 是要检索的列的键名; $index_key 是用作返回数组的键的列的键名称。如果未指定 $index_key,则返回的数组使用数字键。返回值是由指定列的值组成的数组。
2。使用 array_column
函数现在我们来看看如何使用 array_column 函数,例如下面的数组:
$students = array(
array('name' => 'Tom', 'age' => '18', 'grade' => '80'),
array('name' => 'Jerry', 'age' => '17', 'grade' => '90'),
array('name' => 'Mike', 'age' => '19', 'grade' => '85')
);
我们可以使用以下代码来获取学生的年龄信息:
$ages = array_column($students, 'age'); print_r($ages);
输出为:
Array
(
[0] => 18
[1] => 17
[2] => 19
)
我们还可以通过指定第三个参数来指定返回数组的键名。例如:我们可以通过名字作为key获取每个学生的年龄信息,如下代码所示:
$ages = array_column($students, 'age', 'name'); print_r($ages);
输出为:
Array
(
[Tom] => 18
[Jerry] => 17
[Mike] => 19
)
3。使用 array_column
函数枚举数据除了检索特定列数据之外,array_column函数还可以用于收集统计数据。例如以下二维数组:
$scores = array(
array('name' => 'Tom', 'subject' => 'Math', 'score' => '80'),
array('name' => 'Tom', 'subject' => 'English', 'score' => '90'),
array('name' => 'Jerry', 'subject' => 'Math', 'score' => '70'),
array('name' => 'Jerry', 'subject' => 'English', 'score' => '85'),
array('name' => 'Mike', 'subject' => 'Math', 'score' => '90'),
array('name' => 'Mike', 'subject' => 'English', 'score' => '80')
);
您可以使用 array_column 函数读取每个学生的总成绩。下一个代码:
$sums = array_column($scores, 'score', 'name');
foreach($sums as $name => $sum){
echo "{$name}'s total score is: {$sum}
";
}
输出为:
Tom's total score is: 170 Jerry's total score is: 155 Mike's total score is: 170
4。 array_column函数需要注意的事项
使用array_column函数时,必须注意以下几点:
1。如果指定的列名在多个子芯片中相同,则仅返回最后一个匹配的元素。
2。如果未指定索引列,则返回的数组使用数字索引。目前,如果多个子数组中存在重复值,后面的子数组会覆盖前面的子数组。
3。如果第二个参数是数组,则第一个元素作为列名,其他元素不处理。
5。总结
Array_column函数是一个非常方便的函数,在处理PHP数组时可以大大简化代码。本文介绍array_column函数的用法和注意事项。掌握这个特性可以让你在处理PHP数组时事半功倍。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网