PHP에서 Array_Column 함수는 다차원 배열에서 특정 열 데이터를 쉽게 추출 할 수 있습니다. 종종 후속 처리를 위해 연관 배열 또는 다차원 배열에서 지정된 열을 추출하는 데 사용됩니다. 다음으로 Array_Column 함수를 사용하여 다차원 배열에서 멀티 컬럼 데이터를 추출하는 방법을 다룰 것입니다.
array_column 함수의 기본 구문은 다음과 같습니다.
array_column(array $array, $column_key, $index_key = null): array
$ 배열 : 입력 다차원 배열.
$ column_key : 추출 해야하는 열의 키 이름입니다.
$ index_key : (선택 사항)은 배열을 반환하기위한 키로 사용됩니다. 제공되지 않으면 반환 된 배열은 색인 배열이됩니다.
먼저 다차원 배열에서 단일 열 데이터를 추출하는 방법을 보여주는 간단한 예를 살펴 보겠습니다.
<?php
$data = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
];
$emails = array_column($data, 'email');
print_r($emails);
?>
출력 결과 :
Array
(
[0] => alice@m66.net
[1] => bob@m66.net
[2] => charlie@m66.net
)
이 예에서는 Array_Column을 사용하여 이메일 열을 추출합니다.
Array_Column은 하나의 데이터 열만을 추출 할 수 있지만 여러 개의 데이터 열을 추출하려면 Array_Column 과 Array_Map 의 조합을 사용하여 달성 할 수 있습니다. 다음은 여러 열을 추출하는 방법을 보여주는 예입니다.
<?php
$data = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
];
$namesAndEmails = array_map(function($item) {
return [
'name' => $item['name'],
'email' => $item['email'],
];
}, $data);
print_r($namesAndEmails);
?>
출력 결과 :
Array
(
[0] => Array
(
[name] => Alice
[email] => alice@m66.net
)
[1] => Array
(
[name] => Bob
[email] => bob@m66.net
)
[2] => Array
(
[name] => Charlie
[email] => charlie@m66.net
)
)
이 예에서는 array_map 함수를 사용하여 이름 과 이메일 열을 새 배열로 추출합니다.
Array_Column을 통해 여러 열 데이터를 추출하려면 일반적으로 다른 기능과 함께 Array_Column 과 함께 사용할 수 있습니다. 예를 들어, 하나의 열에 대해서만 관심이 있고 상관 작업에 대한 다른 데이터가 필요한 경우 다음은 더 복잡한 예입니다.
<?php
$data = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
];
$names = array_column($data, 'name');
$emails = array_column($data, 'email');
// 두 배열을 병합합니다
$merged = array_map(null, $names, $emails);
print_r($merged);
?>
출력 결과 :
Array
(
[0] => Array
(
[0] => Alice
[1] => alice@m66.net
)
[1] => Array
(
[0] => Bob
[1] => bob@m66.net
)
[2] => Array
(
[0] => Charlie
[1] => charlie@m66.net
)
)
이 예에서는 Array_Column을 사용하여 이름 과 이메일 열을 추출한 다음 Array_Map 함수를 통해 2 차원 배열로 병합합니다.
Array_Column은 배열에서 데이터 열을 쉽게 추출하는 데 도움이되는 매우 강력한 도구입니다.
다중 열 추출의 경우 array_column은 단일 열만 처리 할 수 있지만 Array_Map 과 같은 다른 기능을 결합하여 여러 열을 추출 해야하는 요구 사항을 알 수 있습니다.
Array_Column은 특히 대규모 데이터를 처리 할 때 수동 루프보다 효율적입니다.
Array_Column 및 기타 배열 기능을 합리적으로 사용하면 PHP에서 다차원 배열 데이터를보다 효율적으로 처리 할 수 있습니다.