PHP 2차원 배열에서 열을 얻는 방법

PHPz
풀어 주다: 2023-04-18 09:16:56
원래의
1125명이 탐색했습니다.

在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 2차원 배열에서 열을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿