
array_fill_keys 함수는 키가 중복되면 오류를 발생시키지 않고, 중복 키에 대해 마지막에 지정된 값을 사용합니다. 예를 들어, 다음과 같은 코드를 실행하면 "d" 키에 "four" 값이 할당됩니다.
#hostingforum.kr
php
$array = array_fill_keys(array("a", "b", "c", "d"), "one");
$array = array_fill_keys(array("a", "b", "c", "d", "d"), "four");
print_r($array);
위의 코드를 실행하면 다음과 같은 결과가 출력됩니다.
#hostingforum.kr
php
Array
(
[a] => one
[b] => one
[c] => one
[d] => four
)
이러한 동작은 array_fill_keys 함수의 특징으로, 중복 키를 추가하는 방법은 없습니다. 하지만, 중복 키가 존재하는 경우에 대한 처리를 직접 구현할 수 있습니다. 예를 들어, 다음과 같은 코드를 실행하면 중복 키에 대해 오류를 발생시키는 대신, 중복 키를 무시하거나 다른 처리를 할 수 있습니다.
#hostingforum.kr
php
function array_fill_keys_ignore_duplicate($array, $keys, $values) {
$result = array();
foreach ($keys as $key => $value) {
if (!isset($result[$key])) {
$result[$key] = $value;
}
}
return $result;
}
$array = array_fill_keys_ignore_duplicate(array("a", "b", "c", "d"), array("one", "two", "three", "four"));
print_r($array);
위의 코드를 실행하면 다음과 같은 결과가 출력됩니다.
#hostingforum.kr
php
Array
(
[a] => one
[b] => two
[c] => three
[d] => four
)
이러한 코드를 사용하면 중복 키를 추가하는 대신, 중복 키를 무시하거나 다른 처리를 할 수 있습니다.
2025-05-29 22:24