PHP 프로그래밍에서 array_fill_keys 함수는 주어진 키와 값으로 배열을 채우는 데 사용되는 매우 일반적이고 유용한 기능입니다. 기본 사용법은 배열의 키를 기본으로 사용한 다음 지정된 값을 채우는 것입니다. 일반적 으로이 함수의 사용은 간단하지만 일부 특별한 경우에는 비 건조 유형 매개 변수가 전달되면 어떻게됩니까? 오류로 이어질까요? 이 기사에서는이 문제를 깊이 탐색 할 것입니다.
array_fill_keys 함수의 구문은 다음과 같습니다.
array_fill_keys(array $keys, mixed $value): array
$ 키 : 채워질 키가 포함 된 배열.
$ 값 : 채워질 값.
이 기능은 $ 키 어레이의 키를 기반으로 새 배열을 생성하고 모든 키에 해당하는 값을 $ 값 으로 설정하는 것입니다.
예를 들어:
$keys = ['a', 'b', 'c'];
$value = 10;
$new_array = array_fill_keys($keys, $value);
print_r($new_array);
출력은 다음과 같습니다.
Array
(
[a] => 10
[b] => 10
[c] => 10
)
이제 중요한 질문에 대해 논의 해 봅시다 .
PHP 문서에 따르면 array_fill_keys 가 기대하는 첫 번째 매개 변수는 배열입니다. 비 어류 유형이 (예 : 문자열, 정수 또는 기타 유형)에 전달되는 경우 PHP는 매개 변수 유형이 잘못되었고 패딩 작업을 수행하지 않는다는 경고 오류를 던집니다.
$value = 10;
$non_array = "this is a string";
$new_array = array_fill_keys($non_array, $value);
출력은 다음과 같습니다.
Warning: array_fill_keys() expects parameter 1 to be array, string given in /path/to/your/script.php on line 4
이 예에서 $ non_array 변수는 array_fill_keys 로 전달되는 문자열이며 함수가 인수로 배열을 기대하기 때문에 경고를 던집니다.
PHP는 실행되면 경고 오류를 발행하지만 스크립트는 실행을 중단하지 않습니다. 오류에 대한 특정 정보는 다음과 같습니다.
Warning: array_fill_keys() expects parameter 1 to be array, string given in /path/to/your/script.php on line 4
이것은 array_fill_keys 함수가 들어오는 비 어선 유형을 처리 할 수 없음을 나타냅니다. 오류 자체는 프로그램의 실행을 종료하지 않지만 프로그램의 동작은 예측할 수 없습니다.
이러한 오류를 피하기 위해 IS_ARRAY 함수를 사용하여 array_fill_Keys를 호출하기 전에 전달 된 매개 변수가 배열인지 확인할 수 있습니다. 배열이 아닌 경우 적절한 오류 처리 또는 변환 작업을 수행 할 수 있습니다.
예를 들어:
$value = 10;
$non_array = "this is a string";
if (is_array($non_array)) {
$new_array = array_fill_keys($non_array, $value);
} else {
echo "Error: The provided argument is not an array.";
}
이는 어레이 유형을 통과하여 경고를 피하고보다 친숙한 오류 프롬프트를 제공합니다.
Array_Fill_Keys 함수를 사용하는 경우 비 어류 유형 매개 변수가 전달되면 PHP는 매개 변수 유형이 잘못되었다는 경고를합니다. 이를 피하기 위해 함수를 호출하기 전에 매개 변수 유형을 확인하고 적절하게 처리 할 수 있습니다. 이것은 코드의 견고성과 유지 가능성을 향상시킵니다.
전면 및 후면 부분