PHP에서 배열 작동은 특히 특정 조건에 따라 배열을 재구성해야 할 때 매우 일반적인 작업입니다. Array_combine 함수는 PHP가 제공하는 매우 유용한 도구로서 두 배열을 기반으로 새로운 연관 배열을 생성 할 수 있습니다. 구체적으로, array_combine은 첫 번째 배열을 키로, 두 번째 배열을 값으로 취함으로써 새로운 연관 배열을 만듭니다.
array_combine 함수의 기본 구문은 다음과 같습니다.
array_combine(array $keys, array $values): array|false
$ 키 : 새로운 배열 키로 사용되는 배열.
$ 값 : 새로운 배열 값으로 사용될 배열.
이 함수는 $ 키 어레이의 각 요소를 새 배열의 키로, $ 값 배열의 각 요소를 새 배열의 값으로 취합니다. 두 배열의 요소 수가 다르면 False를 반환합니다.
간단한 예를 살펴 보겠습니다. 두 개의 배열이 있다고 가정 해 봅시다. 하나는 과일 이름이 포함 된 배열이고 다른 하나는이 과일의 가격 배열입니다. 우리는이 두 배열을 연관 배열로 결합하고 싶습니다. 열쇠는 과일의 이름이며 그 가치는 과일의 가격입니다.
<?php
// 과일 이름 배열을 정의하십시오
$fruits = ['apple', 'banana', 'orange'];
// 과일 가격 배열을 정의하십시오
$prices = [1.2, 0.5, 0.8];
// 사용 array_combine 이 두 배열을 병합하십시오
$fruitPrices = array_combine($fruits, $prices);
// 인쇄 결과
print_r($fruitPrices);
?>
출력 결과 :
Array
(
[apple] => 1.2
[banana] => 0.5
[orange] => 0.8
)
이 예에서는 과일 이름을 열쇠로, 과일 가격을 새로운 연관 배열을 생성하는 값으로 성공적으로 사용했습니다.
배열 길이는 동일합니다 . array_combine은 두 배열의 길이가 동일해야합니다. 길이가 다르면 함수는 false를 반환합니다.
예:
$keys = ['a', 'b', 'c'];
$values = [1, 2];
$result = array_combine($keys, $values); // 반품 false,배열 길이가 다르기 때문에
키 이름을 반복 할 수 없습니다 : $ 키 어레이에 중복 요소가있는 경우, 마지막 키 값에 따라 Array_combine이 할당되며 이전 키 값은 덮어 씁니다.
예:
$keys = ['a', 'b', 'a'];
$values = [1, 2, 3];
$result = array_combine($keys, $values); // 반품 ['a' => 3, 'b' => 2]
Array_combine 은 다음과 같은 일반적인 시나리오에 적합합니다.
데이터 형식 변환 : 인덱스 배열을 연관 배열로 변환합니다. 예를 들어, 특정 키 값에 따라 구성하려는 데이터 세트가 있습니다.
예를 들어, 데이터베이스에서 다양한 사용자 정보 배열을 쿼리하고 각 필드 이름을 배열의 키로 사용하려고한다고 가정합니다.
$keys = ['name', 'age', 'email'];
$values = ['John Doe', 25, 'john@example.com'];
$user = array_combine($keys, $values);
print_r($user);
산출:
Array
(
[name] => John Doe
[age] => 25
[email] => john@example.com
)
REMAP ARRAY : Array_combine을 통해 새 구조로 다시 맵핑하려는 이전 데이터 구조 세트가 있다고 가정하여 후속 처리가 더 편리합니다.
Array_combine을 사용할 때 전달 된 배열 길이가 일치하지 않으면 함수가 False를 반환합니다. 오류를 피하기 위해 IF 로 반환 값을 판단하고 해당 오류 처리를 수행 할 수 있습니다.
<?php
$keys = ['id', 'name'];
$values = [101];
$result = array_combine($keys, $values);
if ($result === false) {
echo "배열 길이 불일치,합병 할 수 없습니다!";
} else {
print_r($result);
}
?>
Array_combine 은 매우 강력한 기능으로, 특히 두 배열을 연관 배열로 결합하는 데 적합합니다. 사용량은 간단하고 직접적이지만 두 배열의 길이는 동일해야합니다. 그렇지 않으면 False가 반환됩니다. 이 기능을 합리적으로 사용함으로써 배열 매핑을보다 편리하게 재구성하고 개발 효율을 향상시킬 수 있습니다.
관련 기사 <br> PHP 배열 작업에 대한 자세한 내용은 다음 링크를 참조하십시오.
PHP array_combine 기능 설명서
PHP 배열 기능 컬렉션