PHP의 array_column () 함수는 종종 다차원 배열에서 데이터 열을 추출하는 데 사용됩니다. 배열, 특히 추출 된 열을 새 배열 인덱스로 사용하려면 Array_Column () 함수 가이 작업에 도움이 될 수 있습니다. 이 기능을 사용하여 다시 인덱스 배열을 사용하는 방법을 자세히 설명해 봅시다.
Array_Column () 함수는 다차원 배열에서 열의 모든 값을 추출 하고이 열의 값을 새 배열의 색인으로 사용할 수 있습니다. 함수의 구문은 다음과 같습니다.
array_column(array $array, mixed $column_key, mixed $index_key = null): array
$ 배열 : 입력 다차원 배열.
$ column_key : 추출 할 열 키입니다.
$ index_key : Reindex가 필요한 경우 새 배열 인덱스에 사용 된 키를 지정할 수 있습니다.
ID 및 이름을 포함하여 사용자에 대한 정보가 포함 된 다차원 배열이 있다고 가정합니다.
$users = [
['id' => 1, 'name' => 'Alice'],
['id' => 2, 'name' => 'Bob'],
['id' => 3, 'name' => 'Charlie']
];
모든 사용자의 이름 필드를 추출하고 ID 필드를 새 배열의 색인으로 사용하려면 다음을 수행 할 수 있습니다.
$result = array_column($users, 'name', 'id');
print_r($result);
산출:
Array
(
[1] => Alice
[2] => Bob
[3] => Charlie
)
이 예에서 Array_Column ()은 모든 사용자의 이름 필드를 추출하고 ID 필드를 새로운 배열 인덱스로 사용합니다.
특정 열의 데이터에만 관심이 있고 배열의 인덱스를 변경할 필요가없는 경우 $ Array 및 $ Column_key 매개 변수로만 전달할 수 있습니다.
$result = array_column($users, 'name');
print_r($result);
산출:
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
)
현재 Array_Column ()은 모든 사용자 이름을 포함하는 배열을 반환하고 인덱스는 0에서 시작합니다.
$ index_key 에 해당하는 키가 원래 배열에 존재하지 않으면 Array_Column ()은 기본 정수 인덱스를 사용합니다.
$ column_key 에 해당하는 키가 원래 배열의 일부 요소에 존재하지 않으면 새 배열에서 요소가 생략됩니다.
제품에 대한 정보 세트가 있다고 가정하고 각 제품에는 Product_ID 및 URL이 있으며 URL 도메인 이름을 다시 표시하고 교체하려고합니다. Array_Column () 및 Array_Map ()을 결합 하여이 기능을 구현할 수 있습니다.
$products = [
['product_id' => 101, 'url' => 'http://example.com/product/101'],
['product_id' => 102, 'url' => 'http://example.com/product/102'],
['product_id' => 103, 'url' => 'http://example.com/product/103']
];
// 제품 추출 URL,도메인 이름을 바꾸십시오
$urls = array_column($products, 'url', 'product_id');
$updatedUrls = array_map(function($url) {
return preg_replace('/http:\/\/example\.com/', 'http://m66.net', $url);
}, $urls);
print_r($updatedUrls);
산출:
Array
(
[101] => http://m66.net/product/101
[102] => http://m66.net/product/102
[103] => http://m66.net/product/103
)
이 예에서 Array_Column ()은 제품의 URL을 추출하고 Array_Map () 및 preg_replace ()를 사용하여 URL의 도메인 이름을 대체합니다.
Array_Column () 은 다차원 배열에서 지정된 열에서 데이터를 추출하는 데 적합한 매우 강력한 기능이며 인덱스를 지정하여 결과 배열을 재 배열하는 것을 지원합니다. 다차원 배열을 다룰 때 코드의 복잡성을 크게 단순화합니다. 실제 개발에서 Array_Map () 또는 preg_replace () 와 같은 다른 기능을 사용하면보다 복잡한 작업을 쉽게 구현할 수 있습니다.
이 기사가 PHP의 array_column () 함수를 사용하여 배열 작업을 수행하는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.