현재 위치: > 최신 기사 목록> array_combine ()을 사용하여 비 어선 매개 변수를 만나면 어떻게해야합니까?

array_combine ()을 사용하여 비 어선 매개 변수를 만나면 어떻게해야합니까?

M66 2025-05-13

PHP에서 array_combine ()은 두 배열을 연관 배열로 결합하는 매우 유용한 기능입니다. 이 기능의 기능은 한 배열의 값을 새 배열의 키로 사용하고 다른 배열의 값을 새 배열의 값으로 사용하는 것입니다. 기본 구문은 다음과 같습니다.

 array_combine(array $keys, array $values): array|false

매개 변수 설명 :

  • $ 키 : 연관 배열의 키를 포함하는 배열.

  • $ 값 : 해당 키의 값을 포함하는 배열.

Array_combine () 함수는 $ 값 배열의 $ 값 배열에서 값으로 $ value 배열로 요소가있는 요소가있는 새 배열을 반환합니다. 전달 된 배열의 길이가 일치하지 않거나 매개 변수 중 하나가 배열이 아닌 경우 함수는 False를 반환합니다.

Array_combine () 에서 비 어선 입력을 처리하는 방법?

실제 개발에서 우리는 종종 기능 매개 변수가 Array_combine () 로 전달 된 매개 변수가 배열이 아님과 같은 기대치를 충족하지 않는 상황을 종종 만나게됩니다. 그렇다면 이러한 문제를 효과적으로 처리하는 방법은 무엇입니까?

1. IS_ARRAY () 함수를 사용하여 입력을 확인하십시오

PHP는 변수가 배열인지 확인하기 위해 is_array () 함수를 제공합니다. array_combine ()을 호출하기 전에 두 매개 변수가 유효한 배열인지 확인하기 위해 IS_ARRAY ()를 사용할 수 있습니다.

 $keys = ['name', 'age', 'city'];
$values = ['John', 25, 'New York'];

if (is_array($keys) && is_array($values)) {
    $combinedArray = array_combine($keys, $values);
    print_r($combinedArray);
} else {
    echo "Error: Both parameters must be arrays.";
}

이 방법을 사용하면 비 어선 유형을 통과 할 때 프로그램이 직접 오류를보고하지 않지만 친숙한 오류 메시지를 출력합니다.

2. 배열 길이가 일관되는지 확인하십시오

Array_combine ()은 또한 통과 된 두 배열의 길이가 같은 길이를 가져야합니다. 길이가 일관되지 않으면 거짓이 반환됩니다. 이를 피하기 위해 호출하기 전에 두 배열의 길이를 확인할 수 있습니다.

 $keys = ['name', 'age', 'city'];
$values = ['John', 25];

if (is_array($keys) && is_array($values)) {
    if (count($keys) === count($values)) {
        $combinedArray = array_combine($keys, $values);
        print_r($combinedArray);
    } else {
        echo "Error: Arrays must have the same length.";
    }
} else {
    echo "Error: Both parameters must be arrays.";
}

이 예에서는 두 배열의 길이가 일관성이 있는지 확인하고 일관되지 않으면 오류 메시지가 제공됩니다.

3. 대안 : 기본값으로 배열을 채우십시오

어레이 길이가 일치하지 않을 때 프로그램이 계속 실행되도록하려면 기본 값으로 더 짧은 배열을 채우는 것을 고려하십시오. 이러한 방식으로 두 배열의 길이가 다른 경우에도 Array_combine ()은 여전히 ​​정상적으로 실행할 수 있습니다.

 $keys = ['name', 'age', 'city'];
$values = ['John', 25];

// 결 측값을 입력하십시오
if (count($keys) > count($values)) {
    $values = array_merge($values, array_fill(0, count($keys) - count($values), null));
} elseif (count($values) > count($keys)) {
    $keys = array_merge($keys, array_fill(0, count($values) - count($keys), 'default_key'));
}

$combinedArray = array_combine($keys, $values);
print_r($combinedArray);

여기서는 Array_fill () 함수를 사용하여 결 측값을 채우기 위해 두 배열의 길이가 동일합니다.

요약

Array_combine () 은 두 배열을 연관 배열로 결합하는 매우 유용한 기능입니다. 매개 변수를 전달할 때 오류를 피하려면 IS_ARRAY () 함수를 사용하여 호출하기 전에 입력 유형을 확인하고 배열의 길이가 일관되는지 확인하고 필요한 경우 채우기 작업을 수행 할 수 있습니다.

이러한 방법을 통해 불일치 길이의 비 배열 또는 배열로 인한 오류를 효과적으로 피하고 프로그램의 견고성을 보장 할 수 있습니다.