현재 위치: > 최신 기사 목록> array_flip ()가 일부 시나리오에서 array_column ()을 대체 할 수 있습니까?

array_flip ()가 일부 시나리오에서 array_column ()을 대체 할 수 있습니까?

M66 2025-05-17

PHP에서 Array_flip ()Array_Column () 은 일반적으로 사용되는 배열 처리 기능이지만 사용 및 기능은 다릅니다. 경우에 따라 특히 특정 데이터 구조 및 요구 사항에서 Array_column () 함수 대신 Array_flip ()를 사용할 수 있습니다. 이 기사는이 두 기능의 차이점을 살펴보고 어떤 상황에서 Array_column ()의 대안으로 Array_flip ( )를 사용할 수 있습니다.

1. 기능 소개

Array_flip () 함수

Array_flip ()는 키와 값을 배열에서 바꾸는 데 사용됩니다. 배열의 키는 값이되고 원래 값은 키가됩니다. 예를 들어, 배열이 있다고 가정하면 Array_flip () 는 배열 값이 새 배열의 키로 사용됩니다.

 $array = array("a" => "apple", "b" => "banana", "c" => "cherry");
$flipped = array_flip($array);
print_r($flipped);

출력 결과 :

 Array
(
    [apple] => a
    [banana] => b
    [cherry] => c
)
Array_Column () 함수

Array_Column () 함수는 지정된 열의 값을 2 차원 배열에서 리턴하는 데 사용됩니다. 주어진 키를 기반으로 열의 모든 값을 추출하고 1 차원 배열을 반환합니다.

 $array = [
    ["id" => 1, "name" => "John", "age" => 28],
    ["id" => 2, "name" => "Jane", "age" => 22],
    ["id" => 3, "name" => "Sam", "age" => 35],
];

$names = array_column($array, "name");
print_r($names);

출력 결과 :

 Array
(
    [0] => John
    [1] => Jane
    [2] => Sam
)

2. 시나리오 비교를 사용하십시오

Array_flip ()array_column () 모두 배열을 처리 할 수 ​​있지만 다르게 작동합니다. 이 두 기능의 사용 시나리오를 다음 관점에서 비교할 수 있습니다.

2.1 데이터 구조
  • array_column () 은 열의 모든 데이터를 추출 할 수있는 2 차원 어레이를 처리하는 데 적합합니다.

  • Array_flip () 는 특히 배열 값을 키로 사용해야 할 때 1 차원 배열을 처리하는 데 적합합니다.

2.2 언제 교체 할 수 있습니다

Array_flip ()가 array_column ()을 대체 할 수있는 상황은 일반적으로 다음 두 가지 상황에서 발생합니다.

  1. 데이터 구조가 1 차원 배열 인 경우 : Array_flip ()는 1 차원 배열에서 특정 값을 추출하여 키로 사용하려는 이상적인 선택입니다. 예를 들어, 배열의 값을 키로 전환 해야하는 경우 Array_flip ()가 더 쉬운 방법이됩니다.

  2. 목표는 키 값 관계를 반전시키는 것입니다 . 원래 배열에서 열 값을 추출 해야하는 경우 Key로 변환하기를 희망하는 경우 Array_flip ()는 필요를 충족시킬 수 있습니다. 예를 들어, id => 이름이 있는 연관 배열이 있고 빠르게 반전하려면 Array_flip ()가 더 적합한 선택입니다.

예 : Array_column () 대신 Array_flip ()를 사용합니다.

다음 데이터가 있다고 가정합니다.

 $array = [
    ["id" => 1, "name" => "John"],
    ["id" => 2, "name" => "Jane"],
    ["id" => 3, "name" => "Sam"],
];

모든 이름을 추출하여 키로 사용하려면 Array_Column ()을 사용하여 간단한 열을 얻을 수 있지만 이러한 값을 키 값 쌍의 배열로 바꾸려면 Array_flip ()를 사용할 수 있습니다.

원래 array_column () 메소드 :

 $names = array_column($array, "name");
print_r($names);

산출:

 Array
(
    [0] => John
    [1] => Jane
    [2] => Sam
)

대신 Array_flip ()을 사용하는 경우 먼저 Array_Column ()을 통해 이름 열을 얻은 다음이 값을 키로 뒤집을 수 있습니다.

 $names = array_column($array, "name");
$flipped = array_flip($names);
print_r($flipped);

산출:

 Array
(
    [John] => 0
    [Jane] => 1
    [Sam] => 2
)

이 시나리오에서는 array_flip () 가 데이터를 추출 할뿐만 아니라 새 키와 값으로 직접 변환하여 코드를 단순화 할 수 있습니다.

3. 교체 할 수없는 경우

Array_flip ()array_column ()을 대체 할 수 있지만 경우에 따라 전능 한 것은 아닙니다. 다음은 Array_flip ()를 사용할 수없는 몇 가지 경우입니다.

  1. 2 차원 배열 처리 : 2 차원 배열의 열을 처리 해야하는 경우 Array_flip ()는 1 차원 배열에만 적합하기 때문에 Array_Column ()을 직접 교체 할 수 없습니다.

  2. 다중 반복 값 : 배열에 중복 값이있는 경우 array_flip ()를 사용하면 키 값을 변환 할 때 후자의 값이 이전 동일한 키를 덮어 씁니다. 이 시점에서 Array_Column ()이 더 적합 할 수 있습니다.

4. 요약

  • Array_flip ()array_column () 은 PHP에서 매우 일반적으로 사용되는 배열 처리 기능이지만 다른 시나리오에는 적용됩니다.

  • 2 차원 배열에서 열을 추출 할 때 array_column () 은 더 적합한 선택입니다.

  • 간단한 1 차원 배열 시나리오에서는 키와 값을 되돌려 야 할 경우 Array_Column ()을 대체 할 수 있으며 일반적으로 코드를 더 간결하게 만듭니다.

차이와 사용 시나리오를 이해하면 개발자가 실제 개발에서 올바른 기능을 선택하여 코드의 가독성과 성능을 향상시키는 데 도움이됩니다.