php二维数组怎么取列

PHPz
PHPz原创
2023-04-18 09:16:5622浏览

在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提供了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中文网其它相关文章!

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