현재 위치: > 최신 기사 목록> array_column과 array_map의 차이 분석

array_column과 array_map의 차이 분석

M66 2025-05-11

PHP는 배열을 처리 할 때 많은 내장 기능을 제공하는 강력한 프로그래밍 언어입니다. 그중에서도 Array_columnArray_map 은 일반적으로 사용되는 두 가지 기능입니다. 배열 작업에 모두 사용되지만 사용 시나리오와 기능은 매우 다릅니다. 오늘날 우리는 두 기능의 차이점과 그 중 하나를 사용하도록 선택 해야하는 상황을 탐구 할 것입니다.

array_column 소개

Array_Column 함수는 다차원 배열에서 단일 열의 값을 추출하는 데 사용됩니다. 이 기능은 일반적으로 데이터베이스 쿼리 결과 (일반적으로 2 차원 배열)가 처리되거나 다차원 배열에서 특정 데이터 열을 얻어야하는 시나리오에서 일반적으로 사용됩니다.

함수 정의 :

 array_column(array $input, $column_key, $index_key = null): array

매개 변수 설명 :

  • $ 입력 : 다차원 입력 배열.

  • $ column_key : 추출하려는 열의 키 이름 (문자열 또는 정수 일 수 있음).

  • $ index_key (선택 사항) :이 매개 변수가 제공되면 반환 된 배열은이 키를 색인으로 사용합니다.

예:

사용자 정보가 포함 된 다차원 배열이 있다고 가정하고 모든 사용자의 이메일 주소를 추출하려고합니다.

 $users = [
    ['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($users, 'email');
print_r($emails);

산출:

 Array
(
    [0] => alice@m66.net
    [1] => bob@m66.net
    [2] => charlie@m66.net
)

이 예에서 Array_Column은 모든 사용자의 이메일 주소를 추출하고 모든 이메일 주소가 포함 된 1 차원 배열을 반환합니다.

array_map 소개

Array_Map 함수는 배열의 각 요소에 콜백 함수를 적용하는 데 사용됩니다. 배열을 반복하고 각 요소를 처리하여 처리 된 새 배열을 반환 할 수 있습니다. Array_Map 의 일반적인 사용은 배열 요소, 처리 문자열 또는 숫자 등을 변환합니다.

함수 정의 :

 array_map(callable $callback, array $array, array ...$arrays): array

매개 변수 설명 :

  • $ 콜백 : 각 요소를 배열에서 처리하는 콜백 함수.

  • $ 배열 : 처리 할 배열.

  • ... $ 배열 (선택 사항) : 다중 배열을 전달할 수 있으며 콜백 함수는이 배열의 해당 요소에 차례로 적용됩니다.

예:

사용자 이메일 주소가 포함 된 배열이 있고 모든 이메일 주소를 대문자로 변환하려고합니다.

 $emails = ['alice@m66.net', 'bob@m66.net', 'charlie@m66.net'];

$uppercasedEmails = array_map('strtoupper', $emails);
print_r($uppercasedEmails);

산출:

 Array
(
    [0] => ALICE@M66.NET
    [1] => BOB@M66.NET
    [2] => CHARLIE@M66.NET
)

이 예에서 Array_Map은 각 이메일 주소를 대문자로 변환합니다.

array_columnarray_map 의 차이

특성 array_column Array_map
효과 다차원 배열에서 열을 추출하십시오 배열의 각 요소에 콜백 함수 적용
매개 변수를 입력하십시오 다차원 배열 및 추출 할 열의 주요 이름 배열 및 콜백 함수 (여러 배열을 전달할 수도 있음)
산출 지정된 열이 포함 된 배열을 반환합니다 처리 된 요소가 포함 된 배열을 반환합니다
사용 데이터베이스 쿼리 결과를 처리하는 데 종종 사용되는 특정 열에서 데이터를 추출하는 데 사용됩니다. 배열의 각 요소에서 어떤 종류의 변환 또는 처리를 수행하는 데 사용됩니다.

Array_Column을 언제 사용해야합니까?

  • 열 데이터 추출 : 다차원 배열이 있고 열 중 하나에만 관심이있는 경우 Array_Column을 사용하는 것이 가장 적합한 선택입니다.

  • 데이터베이스 쿼리 결과 : 데이터베이스에서 다차원 배열을 얻을 때 (예 : 각 레코드는 하위 배열 임) Array_Column을 사용하여 모든 레코드에서 필드를 추출 할 수 있습니다.

Array_Map을 언제 사용해야합니까?

  • 배열 변환 : Array_Map은 배열의 각 요소에 특정 변환 (예 : 서식, 계산, 필터링 등)을 적용해야 할 때 매우 유용합니다.

  • 배열 요소의 배치 처리 : Array_Map은 배열에서 특정 작업 (예 : 문자열 변환, 수학 계산 등)에서 특정 작업을 수행해야 할 때 빠르게 구현할 수 있으며 배열의 각 요소에 대한 작업이 있습니다.

결론적으로

  • 다차원 배열에서 열에서 데이터를 추출 해야하는 경우 Array_Column 이 최선의 선택으로 해당 열의 모든 값을 효율적으로 얻고 반환 할 수 있습니다.

  • 배열에서 각 요소에 작업 또는 변환을 적용 해야하는 경우 Array_Map을 사용하는 것이 더 적절하므로 각 요소를 처리하고 처리 된 배열을 반환 할 수있는 유연성을 제공합니다.

올바른 기능을 선택하면 코드의 가독성을 향상시킬뿐만 아니라 실행 효율성에서 더 나은 성능을 달성 할 수 있습니다. 이 기사를 통해이 두 기능과 응용 시나리오의 차이점을 더 명확하게 이해할 수 있기를 바랍니다.