在php语言中,数组是一种常用的数据结构。二维数组是指数组中每个元素也是一个数组。在处理二维数组时,有时需要取出其中的某一列,本篇文章将介绍如何在php中取出二维数组的列。
1.使用循环遍历
取出二维数组的列,最简单的方法就是使用循环遍历数组。可以先循环取出数组中所有元素的某一列,再将这些列组成一个新的数组。下述代码是示例:
$students = array(
array('name'=>'Alice', 'age'=>18, 'score'=>89),
array('name'=>'Bob', 'age'=>19, 'score'=>92),
array('name'=>'Cathy', 'age'=>18, 'score'=>91),
array('name'=>'David', 'age'=>20, 'score'=>87),
);
$scores = array();
foreach ($students as $student) {
$scores[] = $student['score'];
}
print_r($scores);上述代码将取出二维数组$students中所有元素的score列,并将其组成一个新的数组$scores。这里使用foreach循环遍历数组,对每个数组元素都取出对应的score值,并将其添加到新数组$scores中。
2.使用array_column函数
立即学习“PHP免费学习笔记(深入)”;
PHP提供了array_column函数,可以方便地抽取二维数组的某一列。示例代码如下:
$students = array(
array('name'=>'Alice', 'age'=>18, 'score'=>89),
array('name'=>'Bob', 'age'=>19, 'score'=>92),
array('name'=>'Cathy', 'age'=>18, 'score'=>91),
array('name'=>'David', 'age'=>20, 'score'=>87),
);
$scores = array_column($students, 'score');
print_r($scores);上述代码使用array_column函数取出二维数组$students中所有元素的score列,并将其组成一个新的数组$scores。其中,第一个参数为二维数组,第二个参数为要抽取的列名。
需要注意的是,array_column函数需要PHP版本在5.5.0及以上,否则会报错。
3.使用array_map函数
除了array_column函数外,还可以使用array_map函数对二维数组进行列的抽取。下述代码是示例:
$students = array(
array('name'=>'Alice', 'age'=>18, 'score'=>89),
array('name'=>'Bob', 'age'=>19, 'score'=>92),
array('name'=>'Cathy', 'age'=>18, 'score'=>91),
array('name'=>'David', 'age'=>20, 'score'=>87),
);
$scores = array_map(function($student) {
return $student['score'];
}, $students);
print_r($scores);上述代码使用array_map函数取出二维数组$students中所有元素的score列,并将其组成一个新的数组$scores。其中,第一个参数为回调函数,第二个参数为要操作的数组。
需要注意的是,array_map函数的效率相对较低,可能会在处理大规模数组时出现性能问题。
几种取列的方式中,最常用的方法是使用array_column函数。除了取列,array_column函数还能取出指定列的值组成一个新的数组,并且可以以另一个索引列作为新数组的键。这些功能很实用,可在实际开发中提高效率。
以上就是php二维数组怎么取列的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号