PHP, Array_combine 및 Array_fill_keys 에는 배열을 조작하는 데 사용되는 함수에 유용한 배열 함수가 많이 있습니다. 그들의 기능은 비슷해 보이지만, 사용 시나리오와 사용법은 실제 개발에서 다릅니다. 이 기사는 Array_fill_keys 대신 Array_combine을 사용할 수있는 상황과 그 차이를 탐구합니다.
Array_combine 함수의 기능은 두 배열을 연관 배열로 결합하는 것입니다. 첫 번째 배열은 키로 사용되며 두 번째 배열은 해당 값으로 사용됩니다. 두 배열의 요소 수가 같지 않으면 Array_combine은 False를 반환합니다.
문법 :
array_combine(array $keys, array $values): array|false
예 :
$keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$result = array_combine($keys, $values);
print_r($result);
산출:
Array
(
[a] => 1
[b] => 2
[c] => 3
)
array_fill_keys 함수는 주어진 키 이름 배열에 따라 지정된 값을 채우는 데 사용됩니다. 모든 키 이름이 동일한 값에 해당하는 새 배열을 생성합니다.
문법 :
array_fill_keys(array $keys, mixed $value): array
예 :
$keys = ['a', 'b', 'c'];
$value = 100;
$result = array_fill_keys($keys, $value);
print_r($result);
산출:
Array
(
[a] => 100
[b] => 100
[c] => 100
)
array_combine 및 array_fill_keys는 모두 연관 배열을 만드는 데 사용되지만 주요 차이점은 배열의 키와 값이 처리되는 방법입니다.
Array_combine에는 키가 1 개, 값 용으로는 2 개의 배열이 필요합니다.
Array_fill_keys는 키와 값 만 필요하며 각 키를 동일한 값으로 채 웁니다.
다음 경우 array_fill_keys 대신 Array_combine을 사용할 수 있습니다.
값 배열의 모든 요소가 동일하면 : 각 키에 동일한 값을 할당하고 값이 고정되면 모든 요소가 동일한 값으로 채워지는 배열을 만들 수 있습니다. 그런 다음 array_combine을 사용 하여이 값 배열을 키 배열과 결합하십시오.
예 :
$keys = ['a', 'b', 'c'];
$value = 100;
$values = array_fill(0, count($keys), $value); // 동일한 값의 배열을 만듭니다
$result = array_combine($keys, $values);
print_r($result);
산출:
Array
(
[a] => 100
[b] => 100
[c] => 100
)
위의 코드에서 먼저 Array_Fill을 사용하여 값이 100 인 배열을 생성 한 다음 키 와 값을 Array_combine을 통해 연관 배열로 병합합니다. 이것은 array_fill_keys 와 동일한 효과를 허용합니다.
값 배열이 동적 인 경우 : 값 배열의 내용이 반드시 동일한 고정 값이 아니라면 array_combine을 사용하는 것이 더 유연합니다. 다른 값 배열을 동적으로 생성 한 다음 키 어레이와 병합 할 수 있습니다.
예 :
$keys = ['a', 'b', 'c'];
$values = [1, 2, 3]; // 동적으로 생성 된 값 배열
$result = array_combine($keys, $values);
print_r($result);
산출:
Array
(
[a] => 1
[b] => 2
[c] => 3
)
Array_combine을 사용하여 키 배열을 여러 값과 결합하여 동적으로 생성 된 값 배열에 매우 적합합니다.
array_fill_keys는 값이 고정되어 각 키에 동일한 값을 할당하려면보다 간결하고 직관적 인 선택입니다.
Array_combine은 다양한 값이 키에 하나씩 해당 해야하는 시나리오에 적합하지만 Array_fill_Keys는 모든 키가 동일한 값을 사용하는 데 더 적합합니다.
특정 요구에 따라 올바른 기능을 선택하면 코드가 더 간결하고 효율적 일 수 있습니다.