현재 위치: > 최신 기사 목록> value 복제를 시뮬레이션하는 방법 array_flip ()의 재정의 테스트

value 복제를 시뮬레이션하는 방법 array_flip ()의 재정의 테스트

M66 2025-06-03

Array_flip () 는 PHP의 함수이며 그 기능은 키와 배열 값을 바꾸는 것입니다. 즉, 배열의 값은 키가되고 원래 키는 값이됩니다. 그러나이 기능은 경우에 따라, 특히 배열에 중복 값이있을 때 적용 범위 문제를 경험할 수 있습니다. 이 경우 이후 키는 이전 키를 덮어 씁니다. 이 기사는 반복 값의 경우를 시뮬레이션하여 Array_flip () 함수의 재정의를 테스트합니다.

array_flip () 함수의 기본 사용

먼저 Array_flip () 함수의 사용법을 간단히 검토해 봅시다. 이 함수는 어레이를 인수로 가져 와서 배열의 키와 값이 서로 바꿀 수있는 새 배열을 반환합니다. 배열의 값이 고유 한 경우 각 키가 보존됩니다.

 <?php
$array = ['a' => 1, 'b' => 2, 'c' => 3];
$flipped = array_flip($array);
print_r($flipped);
?>

출력은 다음과 같습니다.

 Array
(
    [1] => a
    [2] => b
    [3] => c
)

값의 복제 사례

배열에 중복 값이 ​​포함 된 경우 문제가 발생합니다. array_flip () 와 동일한 값의 키를 전달하면 후속 키는 이전 키를 덮어 씁니다. 예를 살펴 보겠습니다.

 <?php
$array = ['a' => 1, 'b' => 2, 'c' => 2];
$flipped = array_flip($array);
print_r($flipped);
?>

출력 결과는 다음과 같습니다.

 Array
(
    [1] => a
    [2] => c
)

보시다시피, 키 BC 는 모두 동일한 값이 2 이지만 Array_flip ()가 실행 된 후 키 C는 동일한 값을 가지기 때문에 키 B를 대체합니다. Array_flip ()는 나타나는 마지막 키 만 유지합니다. 이 재정의 문제는 일반적으로 Array_flip ()를 사용할 때주의를 기울여야 할 것입니다.

적용 범위 문제를 테스트하기 위해 값 복제를 시뮬레이션하는 방법

이 문제를 더 잘 이해하기 위해 일부 테스트 사례를 만들고 다른 시나리오에서 중복 값을 시뮬레이션 할 수 있으며 Array_flip () 의 동작을 관찰했습니다. 다음은 몇 가지 일반적인 테스트 시나리오입니다.

시나리오 1 : 배열에는 여러 개의 동일한 값이 있습니다.

 <?php
$array = ['a' => 1, 'b' => 1, 'c' => 2, 'd' => 2];
$flipped = array_flip($array);
print_r($flipped);
?>

출력은 다음과 같습니다.

 Array
(
    [1] => b
    [2] => d
)

이 예에서는 값 12 가 각각 두 번 나타나고 마지막 키 ( bd )는 이전 키를 무시합니다.

시나리오 2 : 배열의 값은 정확히 동일합니다.

 <?php
$array = ['a' => 1, 'b' => 1, 'c' => 1];
$flipped = array_flip($array);
print_r($flipped);
?>

출력은 다음과 같습니다.

 Array
(
    [1] => c
)

이 경우 모든 키의 값은 1 이므로 마지막 키 C 만 유지됩니다.

시나리오 3 : 더 복잡한 배열 구조

 <?php
$array = ['a' => 1, 'b' => 2, 'c' => 2, 'd' => 3, 'e' => 1];
$flipped = array_flip($array);
print_r($flipped);
?>

출력은 다음과 같습니다.

 Array
(
    [1] => e
    [2] => c
    [3] => d
)

여기에서 볼 수 있듯이 값 12는 각각 두 번 나타나고 EC는 이전 키를 덮어 씁니다. 3은 발생하는 유일한 값이므로 D가 보존됩니다.

요약

다른 반복 값을 시뮬레이션함으로써 반복 값을 처리 할 때 array_flip () 함수의 동작을 볼 수 있습니다. 이 함수는 이전 키를 무시하고 키의 마지막 발생을 유지합니다. 이 재정의 동작은 예상치 못한 결과로 이어질 수 있으므로 Array_flip ()를 사용할 때 특히 배열에 중복 값이있을 때 더욱주의를 기울여야합니다.