PHP에서 Array_flip () 및 Array_Column () 은 일반적으로 사용되는 배열 처리 기능이지만 사용 및 기능은 다릅니다. 경우에 따라 특히 특정 데이터 구조 및 요구 사항에서 Array_column () 함수 대신 Array_flip ()를 사용할 수 있습니다. 이 기사는이 두 기능의 차이점을 살펴보고 어떤 상황에서 Array_column ()의 대안으로 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 () 함수는 지정된 열의 값을 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
)
Array_flip () 및 array_column () 모두 배열을 처리 할 수 있지만 다르게 작동합니다. 이 두 기능의 사용 시나리오를 다음 관점에서 비교할 수 있습니다.
array_column () 은 열의 모든 데이터를 추출 할 수있는 2 차원 어레이를 처리하는 데 적합합니다.
Array_flip () 는 특히 배열 값을 키로 사용해야 할 때 1 차원 배열을 처리하는 데 적합합니다.
Array_flip ()가 array_column ()을 대체 할 수있는 상황은 일반적으로 다음 두 가지 상황에서 발생합니다.
데이터 구조가 1 차원 배열 인 경우 : Array_flip ()는 1 차원 배열에서 특정 값을 추출하여 키로 사용하려는 이상적인 선택입니다. 예를 들어, 배열의 값을 키로 전환 해야하는 경우 Array_flip ()가 더 쉬운 방법이됩니다.
목표는 키 값 관계를 반전시키는 것입니다 . 원래 배열에서 열 값을 추출 해야하는 경우 Key로 변환하기를 희망하는 경우 Array_flip ()는 필요를 충족시킬 수 있습니다. 예를 들어, id => 이름이 있는 연관 배열이 있고 빠르게 반전하려면 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 () 가 데이터를 추출 할뿐만 아니라 새 키와 값으로 직접 변환하여 코드를 단순화 할 수 있습니다.
Array_flip () 가 array_column ()을 대체 할 수 있지만 경우에 따라 전능 한 것은 아닙니다. 다음은 Array_flip ()를 사용할 수없는 몇 가지 경우입니다.
2 차원 배열 처리 : 2 차원 배열의 열을 처리 해야하는 경우 Array_flip ()는 1 차원 배열에만 적합하기 때문에 Array_Column ()을 직접 교체 할 수 없습니다.
다중 반복 값 : 배열에 중복 값이있는 경우 array_flip ()를 사용하면 키 값을 변환 할 때 후자의 값이 이전 동일한 키를 덮어 씁니다. 이 시점에서 Array_Column ()이 더 적합 할 수 있습니다.
Array_flip () 및 array_column () 은 PHP에서 매우 일반적으로 사용되는 배열 처리 기능이지만 다른 시나리오에는 적용됩니다.
2 차원 배열에서 열을 추출 할 때 array_column () 은 더 적합한 선택입니다.
간단한 1 차원 배열 시나리오에서는 키와 값을 되돌려 야 할 경우 Array_Column ()을 대체 할 수 있으며 일반적으로 코드를 더 간결하게 만듭니다.
차이와 사용 시나리오를 이해하면 개발자가 실제 개발에서 올바른 기능을 선택하여 코드의 가독성과 성능을 향상시키는 데 도움이됩니다.