Array_Fill_Keys는 지정된 키 값을 기반으로 배열을 채우는 PHP에서 매우 유용한 배열 함수입니다. 이 기능을 사용할 때 결과와 기대치가 반환되는 상황이 일관되지 않은 경우 걱정하지 마십시오. 문제의 근본 원인을 찾는 데 도움이되는 구체적인 예와 설명을 사용하겠습니다.
먼저, array_fill_keys 함수의 기본 구문을 살펴 보겠습니다.
array_fill_keys(array $keys, mixed $value): array
$ 키 : 배열 키 여야하는 배열.
$ 값 : 각 키에 해당하는 값.
이 함수는 키가 $ 키 매개 변수에서 나오는 새 배열을 반환하고 모든 값은 $ 값 으로 채워집니다.
일반적인 사용법을 살펴 보겠습니다.
<?php
$keys = ['a', 'b', 'c'];
$value = 10;
$result = array_fill_keys($keys, $value);
print_r($result);
?>
출력은 다음과 같습니다.
Array
(
[a] => 10
[b] => 10
[c] => 10
)
비슷한 코드를 사용한다고 가정하지만 반환 된 결과는 기대하는 것과 다르다고하면 몇 가지 이유가있을 수 있습니다. 불일치로 이어질 수있는 상황을 살펴 보겠습니다.
$ 키 어레이에 중복 요소가 포함 된 경우 Array_Fill_Keys는 마지막 중복 키를 기반으로 키의 해당 값을 설정합니다. 예를 들어:
<?php
$keys = ['a', 'b', 'a'];
$value = 10;
$result = array_fill_keys($keys, $value);
print_r($result);
?>
출력은 다음과 같습니다.
Array
(
[a] => 10
[b] => 10
)
위의 코드에서 'A' 는 반복적으로 두 번 정의되지만 Array_Fill_Keys는 하나의 'A' 키 만 유지하고 그 값은 10 입니다. 이렇게하면 오류가 발생하지 않지만 배열 키의 고유성으로 인해 중복 키가 중복 제거됩니다.
array_fill_keys 로 전달되는 $ 키 어레이가 비어 있으면 반환 된 배열은 빈 배열이됩니다.
<?php
$keys = [];
$value = 10;
$result = array_fill_keys($keys, $value);
print_r($result);
?>
산출:
Array
(
)
이 경우 기능은 문제를 일으키지 않지만 결과에는 예상 컨텐츠가 없습니다.
array_fill_keys array_fill_keys가 키를 배열에 사용하면 키 이름 유형이 결과에 영향을 미칩니다. 예를 들어, 키가 숫자 유형 인 경우 array_fill_keys는 정수 키로 취급합니다. 다음 예를 고려하십시오.
<?php
$keys = [1, 2, 3];
$value = 'hello';
$result = array_fill_keys($keys, $value);
print_r($result);
?>
산출:
Array
(
[1] => hello
[2] => hello
[3] => hello
)
키가 문자열 유형 인 경우 배열의 인덱스가 변경됩니다.
키 어레이에 중복 값이 있는지 확인하십시오 . $ 키 어레이에 중복 요소가 없는지 확인하십시오. Array_unique ()를 사용하여 제거하거나 배열을 직접 확인할 수 있습니다.
배열 키 유형 확인 : 키가 문자열 유형이 되려면 $ 키 어레이의 요소가 모두 문자열 유형이거나 키 유형을 시전 할 수 있습니다.
디버깅 및 출력 : print_r () 대신 var_dump ()를 사용하여 키 유형과 세부 사항을 볼 수 있도록 잠재적 인 문제를 식별하는 데 도움이됩니다.
Array_Fill_Keys 는 매우 유용한 기능이지만 중복 키 또는 유형 불일치로 인한 일관되지 않은 결과를 피하기 위해 키 유형 및 배열 구조에주의를 기울여야합니다. 출력이 기대치를 충족시키지 못하면 위의 측면에서 문제를 해결할 수 있습니다.
이 기사가 도움이되기를 바랍니다! 더 많은 질문이 있으시면 웹 사이트를 방문하십시오.