현재 위치: > 최신 기사 목록> Array_Column을 통해 결과 배열을 다시 표시하는 방법

Array_Column을 통해 결과 배열을 다시 표시하는 방법

M66 2025-04-29

PHP의 array_column () 함수는 종종 다차원 배열에서 데이터 열을 추출하는 데 사용됩니다. 배열, 특히 추출 된 열을 새 배열 인덱스로 사용하려면 Array_Column () 함수 가이 작업에 도움이 될 수 있습니다. 이 기능을 사용하여 다시 인덱스 배열을 사용하는 방법을 자세히 설명해 봅시다.

1. array_column () 함수의 개요

Array_Column () 함수는 다차원 배열에서 열의 모든 값을 추출 하고이 열의 값을 새 배열의 색인으로 사용할 수 있습니다. 함수의 구문은 다음과 같습니다.

 array_column(array $array, mixed $column_key, mixed $index_key = null): array
  • $ 배열 : 입력 다차원 배열.

  • $ column_key : 추출 할 열 키입니다.

  • $ index_key : Reindex가 필요한 경우 새 배열 인덱스에 사용 된 키를 지정할 수 있습니다.

2. 예 : 배열 및 리인덱스에서 열을 추출합니다

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 필드를 새로운 배열 인덱스로 사용합니다.

3. 구역이없는 열만 추출하십시오

특정 열의 데이터에만 관심이 있고 배열의 인덱스를 변경할 필요가없는 경우 $ Array$ Column_key 매개 변수로만 전달할 수 있습니다.

 $result = array_column($users, 'name');
print_r($result);

산출:

 Array
(
    [0] => Alice
    [1] => Bob
    [2] => Charlie
)

현재 Array_Column ()은 모든 사용자 이름을 포함하는 배열을 반환하고 인덱스는 0에서 시작합니다.

4. 주목할만한 것들

  • $ index_key 에 해당하는 키가 원래 배열에 존재하지 않으면 Array_Column ()은 기본 정수 인덱스를 사용합니다.

  • $ column_key 에 해당하는 키가 원래 배열의 일부 요소에 존재하지 않으면 새 배열에서 요소가 생략됩니다.

5. 실제 응용 프로그램 : URL 작업과 결합

제품에 대한 정보 세트가 있다고 가정하고 각 제품에는 Product_IDURL이 있으며 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의 도메인 이름을 대체합니다.

6. 요약

Array_Column () 은 다차원 배열에서 지정된 열에서 데이터를 추출하는 데 적합한 매우 강력한 기능이며 인덱스를 지정하여 결과 배열을 재 배열하는 것을 지원합니다. 다차원 배열을 다룰 때 코드의 복잡성을 크게 단순화합니다. 실제 개발에서 Array_Map () 또는 preg_replace () 와 같은 다른 기능을 사용하면보다 복잡한 작업을 쉽게 구현할 수 있습니다.

이 기사가 PHP의 array_column () 함수를 사용하여 배열 작업을 수행하는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.