PHP에서 Array_combine 함수는 일반적으로 두 배열을 연관 배열로 결합하는 데 사용되며, 하나의 배열의 요소가 다른 배열의 키 및 요소로 값으로 값으로 사용됩니다. 그러나 배열의 키와 값을 반전 시키려면 원래 값을 키로 사용하고 원래 키를 값으로 사용합니다. Array_combine은 구현에 직접 사용되지 않습니다. 그러나 다른 PHP 기능을 결합 하여이 기능을 쉽게 구현할 수 있습니다.
간단한 배열이 있다고 가정합니다.
$array = [
'a' => 1,
'b' => 2,
'c' => 3
];
이 배열에서 키 값 쌍을 뒤집으려면 다음과 같은 결과를 얻을 수 있습니다.
[
1 => 'a',
2 => 'b',
3 => 'c'
]
PHP는 매우 편리한 기능 array_flip () 을 제공하며, 이는 키 값 쌍 반전의 필요성을 구현합니다. 배열의 키와 값을 바꾸고 원래 값이 새 키가되고 원래 키는 새 값이됩니다.
$array = [
'a' => 1,
'b' => 2,
'c' => 3
];
$flipped = array_flip($array);
print_r($flipped);
출력은 다음과 같습니다.
Array
(
[1] => a
[2] => b
[3] => c
)
Array_flip () 가 키 값 쌍 반전 문제를 완벽하게 해결할 수 있지만 Array_combine ()을 사용하여보다 사용자 정의 된 반전 로직을 달성 할 수 있습니다. 예를 들어, 먼저 배열의 값과 키를 얻은 다음 Array_combine을 통해 새 배열을 만들 수 있습니다.
다음은 array_combine ()을 사용하여 키 값 쌍 반전을 수동으로 구현하는 방법입니다.
$array = [
'a' => 1,
'b' => 2,
'c' => 3
];
$keys = array_values($array); // 원래 배열의 값 부분을 얻으십시오
$values = array_keys($array); // 원래 배열의 핵심 부분을 얻으십시오
$reversed = array_combine($keys, $values); // 값을 키로 바꾸십시오
print_r($reversed);
출력 결과 :
Array
(
[1] => a
[2] => b
[3] => c
)
값 고유성 : Array_combine ()은 배열의 값 부분과 핵심 부분이 길이가 같아야합니다. 두 배열의 길이가 다른 경우 array_combine ()에 오류가 발생합니다. 따라서 Array_combine ()을 사용하는 경우 배열의 크기가 일관되도록해야합니다.
값은 키로 사용할 수 있습니다 : 역 값은 새 배열의 키로 사용되며 PHP에서는 배열 키가 고유하므로 원래 배열의 값은 고유해야합니다. 중복 값이 있으면 Array_combine () 이 일부 데이터를 잃게됩니다.
URL 도메인 이름 교체 : URL을 처리 할 때 URL의 도메인 이름을 교체 해야하는 경우 str_replace ()를 사용하여 완료 할 수 있습니다. 예를 들어 URL의 도메인 이름을 M66.net 으로 통합 해야하는 경우 다음을 수행 할 수 있습니다.