현재 위치: > 최신 기사 목록> ISSET과 IS_NULL을 결합하여 변수가 정의되었는지 여부를 결정하고

ISSET과 IS_NULL을 결합하여 변수가 정의되었는지 여부를 결정하고

gitbox 2025-05-29

isset ()과 is_null ()의 차이

    • 변수가 정의되었고 값이 무효 가 아닌지 확인하는 데 사용됩니다.

    • 변수가 존재하지 않거나 변수의 값이 null 이면 isset ()false를 반환합니다.

    • ISSET () 는 한 번에 여러 변수 감지를 지원하고 모든 변수가 정의 되지 않은 경우에만 TRUE 를 반환합니다.

  • is_null ()

    • 변수의 값이 null 인지 여부를 결정하고 변수가 정의되었는지 여부는 신경 쓰지 않습니다.

    • 변수가 존재하지 않으면 경고가 트리거됩니다 (통지 : 정의되지 않은 변수).


ISSET과 IS_NULL을 결합하여 변수가 정의되고 NULL인지 확인

isset () 만 사용하면 변수가 null 인지 알 수 없습니다. isset ()는 null 값이있는 변수에 대해 false를 반환하기 때문에 변수가 정의되지 않았거나 null이 될 수 있고 둘을 구별 할 수 없음을 의미합니다.

IS_NULL () 만 사용하면 변수가 정의되지 않은 경우 오류가보고됩니다.

따라서 먼저 ISSET ()을 사용하여 변수가 존재하는지 확인한 다음 is_null ()을 사용하여 NULL 인지 확인해야합니다. 이것은 "변수 undefined"와 "variable null"을 정확하게 구별 할 수 있습니다.


샘플 코드

 <?php
// 감지 될 변수가 있다고 가정하십시오 $var

if (isset($var)) {
    // 변수 정의,그것이 있는지 여부를 결정하십시오 null
    if (is_null($var)) {
        echo '$var 정의되고 값은입니다 null';
    } else {
        echo '$var 정의되고 값은 그렇지 않습니다 null';
    }
} else {
    echo '$var 한정되지 않은';
}
?>

추가 최적화 예 : 캡슐화 기능

위의 논리는 쉬운 재사용을 위해 함수로 캡슐화 될 수 있습니다.

 <?php
function isDefinedAndNull(&$var): bool {
    return isset($var) && is_null($var);
}

// 예제 사용
if (isDefinedAndNull($var)) {
    echo '$var 정의 및 AS null';
} else {
    echo '$var 한정되지 않은或不为 null';
}
?>

참조 패스 & $ var는 변수가 정의되지 않았을 때 통지가 트리거되는 것을 방지하는 데 사용됩니다.


추가 지침

  • 변수가 정의되지 않으면 경고가 생성됩니다.

  • 함께 사용하면 불필요한 경고를 피하면서 가변 상태를 정확하게 구별 할 수 있습니다.

  • ISSET () ()는 그것이 정의되어 있는지 여부를 결정할뿐만 아니라 그것이 널 여부를 결정합니다.

  • 변수가 존재하는지 여부를 결정하려면 ( NULL 인지 고려하지 않음) ISSET () 만 사용하십시오.


요약

ISSET ()IS_NULL ()을 결합함으로써 변수가 정의되었는지 여부를 정확하게 판단 할 수 있으며 값이 널이거나 단독으로 사용될 때 잘못 판단 또는 경고를 피할 수 있습니다. 실제 개발에서, 이러한 판단은 특히 코드의 견고성을 보장하기 위해 초기화되지 않을 수있는 변수를 처리하는 데 특히 적합합니다.