PHP에서는 배열을 처리하고 연산해야 하는 경우가 많습니다. 때로는 다차원 배열에서 특정 데이터 열을 가져와야 하는 경우 array_column() 함수를 사용하여 이를 달성할 수 있습니다. 이번 글에서는 array_column() 함수의 사용법을 자세히 소개하겠습니다.
1. array_column() 함수는 무엇인가요?
array_column()은 다차원 배열에서 지정된 데이터 열을 가져오는 데 사용되는 PHP 함수입니다. 이 함수는 PHP 5.5에서 도입되었으며 연관 배열 및 인덱스 배열을 지원합니다.
함수 프로토타입:
array_column ( array $array , Mixed $column_key [, Mixed $index_key = null ] ) : array
매개변수 설명:
$array: 연산할 다차원 배열
$column_key: the 획득할 열 키 이름 또는 값
$index_key: 선택적 매개변수, 이 값을 지정하면 반환되는 배열의 키 이름으로 사용됩니다.
2. 사용 예
array_column() 함수의 몇 가지 사용 예를 살펴보겠습니다.
일부 사용자 정보를 저장하는 $users 인덱스 배열이 있고 여기에서 모든 사용자의 이름을 가져오고 싶다고 가정해 보겠습니다. 이는 다음 코드를 통해 달성할 수 있습니다.
$users = array(0 => array('id'=>1, 'name'=>'Tom', 'email'=>'tom@example.com'), 1 => array('id'=>2, 'name'=>'Jerry', 'email'=>'jerry@example.com'), 2 => array('id'=>3, 'name'=>'Mike', 'email'=>'mike@example.com')); $names = array_column($users, 'name'); print_r($names);
출력 결과는 다음과 같습니다.
Array ( [0] => Tom [1] => Jerry [2] => Mike )
배열이 연관 배열인 경우 동일한 방식으로 지정된 데이터 열을 얻을 수 있습니다.
예를 들어, 학생에 대한 일부 정보가 포함된 연관 배열 $students가 있습니다. 우리는 모든 학생의 나이를 얻고 싶습니다.
$students = array('Tom' => array('age'=>20, 'gender'=>'male', 'city'=>'Beijing'), 'Jerry' => array('age'=>21, 'gender'=>'female', 'city'=>'Shanghai'), 'Mike' => array('age'=>19, 'gender'=>'male', 'city'=>'Guangzhou')); $ages = array_column($students, 'age'); print_r($ages);
출력 결과는 다음과 같습니다.
Array ( [Tom] => 20 [Jerry] => 21 [Mike] => 19 )
다차원 배열에서 여러 키 값을 얻으려면 얻을 키 이름을 배열에 넣고 array_column() 함수에 두 번째 매개 변수로 전달할 수 있습니다.
예를 들어, 여러 도시의 온도 데이터가 포함된 $온도 배열이 있습니다. 각 도시의 평균 기온과 최대 기온을 얻으려면 다음과 같이 할 수 있습니다.
$temperatures = array( array('city'=>'Beijing', 'average'=>20, 'highest'=>28), array('city'=>'Shanghai', 'average'=>23, 'highest'=>30), array('city'=>'Guangzhou', 'average'=>25, 'highest'=>32) ); $infos = array_column($temperatures, array('average', 'highest'), 'city'); print_r($infos);
출력 결과는 다음과 같습니다.
Array ( [Beijing] => Array ( [average] => 20 [highest] => 28 ) [Shanghai] => Array ( [average] => 23 [highest] => 30 ) [Guangzhou] => Array ( [average] => 25 [highest] => 32 ) )
때때로 지정된 열의 데이터를 가져올 때 반환된 배열의 키 이름을 지정하고 싶을 때가 있습니다. array_column() 함수의 세 번째 매개변수에 지정할 수 있습니다.
예를 들어 이전 예에서는 반환된 배열의 키 이름으로 "평균 온도"와 "최대 온도"를 사용하려고 합니다.
$temperatures = array( array('city'=>'Beijing', 'average'=>20, 'highest'=>28), array('city'=>'Shanghai', 'average'=>23, 'highest'=>30), array('city'=>'Guangzhou', 'average'=>25, 'highest'=>32) ); $infos = array_column($temperatures, array('average', 'highest'), 'city'); $infos = array_map(function($v){return ['平均气温'=>$v[0], '最高气温'=>$v[1]];}, $infos); print_r($infos);
출력 결과는 다음과 같습니다.
Array ( [Beijing] => Array ( [平均气温] => 20 [最高气温] => 28 ) [Shanghai] => Array ( [平均气温] => 23 [最高气温] => 30 ) [Guangzhou] => Array ( [平均气温] => 25 [最高气温] => 32 ) )
3 . 결론
array_column( ) 함수는 다차원 배열에서 지정된 데이터 열을 쉽게 얻을 수 있으며 사용 방법이 간단하고 명확합니다. 실제 개발에서는 이 기능을 최대한 활용하여 어레이 처리의 효율성과 정확성을 향상시킬 수 있습니다.
위 내용은 PHP의 array_column() 함수 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!