현재 위치: > 최신 기사 목록> IS_BOOL의 반환 값 동작이 IS_NULL의 반환 값 동작과 다른 이유는 무엇입니까?

IS_BOOL의 반환 값 동작이 IS_NULL의 반환 값 동작과 다른 이유는 무엇입니까?

gitbox 2025-06-24

1. IS_BOOL 기능

IS_BOOL 기능은 변수가 부울 값인지 확인하는 데 사용됩니다. 부울 값은 일반적으로 True 또는 False의 두 가지 값을 가지고 있으며, 이는 논리적 작업 및 조건부 판단에 PHP에 사용됩니다. IS_BOOL 함수의 반환 값은 부울 값입니다. 변수의 유형이 부울 인 경우 함수는 true를 반환하고 그렇지 않으면 False를 반환합니다.

샘플 코드 :

 <span><span><span class="hljs-variable">$var1</span></span><span> = </span><span><span class="hljs-literal">true</span></span><span>;
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-variable">$var3</span></span><span> = </span><span><span class="hljs-string">"true"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_bool</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>); </span><span><span class="hljs-comment">// 산출: 1 (true)</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_bool</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>); </span><span><span class="hljs-comment">// 산출: 널 (false)</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_bool</span></span><span>(</span><span><span class="hljs-variable">$var3</span></span><span>); </span><span><span class="hljs-comment">// 산출: 널 (false)</span></span><span>
</span></span>

위의 코드에서 $ var1은 부울 유형이므로 is_bool ($ var1)은 true를 반환합니다. $ var2는 정수 유형이지만 IS_BOOL ($ var2)은 값이 0 이더라도 False를 반환합니다 (PHP의 False0 일 수도 있습니다). 마찬가지로 $ var3은 문자열 유형이며 "true"문자열이 포함되어 있지만 IS_BOOL ($ var3)은 부울 유형이 아니기 때문에 여전히 False를 반환합니다.

2. IS_NULL 함수

IS_NULL 함수는 변수가 NULL 인지 확인하는 데 사용됩니다. NULL은 변수의 값이 없음을 의미하는 특수 유형입니다. False , 0 또는 빈 문자열과 다르기 때문에 IS_NULL 함수는 변수의 값이 NULL 인 경우에만 true 만 리턴합니다. 그렇지 않으면 False를 반환합니다.

샘플 코드 :

 <span><span><span class="hljs-variable">$var1</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>;
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-variable">$var3</span></span><span> = </span><span><span class="hljs-string">""</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>); </span><span><span class="hljs-comment">// 산출: 1 (true)</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>); </span><span><span class="hljs-comment">// 산출: 널 (false)</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$var3</span></span><span>); </span><span><span class="hljs-comment">// 산출: 널 (false)</span></span><span>
</span></span>

위의 코드에서 $ var1 의 값은 null 이므로 is_null ($ var1)true를 반환합니다. $ var2 는 정수 0 이지만 IS_NULL ($ var2)은 거짓 반환 합니다. 마찬가지로, 빈 문자열 ""은 null로 간주되지 않으므로 is_null ($ var3)false를 반환합니다.

3. 반환 가치 동작의 차이

IS_BOOLIS_NULL 의 사용을 비교함으로써 반품 값 동작에서 몇 가지 주요 차이점을 볼 수 있습니다.

  • 반환 값 유형은 다릅니다.
    IS_BOOL 의 반환 값은 항상 부울 유형, 즉 또는 거짓 입니다. 확인중인 변수가 부울 유형이 아니더라도 False를 반환합니다. IS_NULL은 부울 값도 반환하지만 변수가 NULL 인 경우에만 TRUE를 반환합니다. 그렇지 않으면 False를 반환합니다.

  • 다른 유형의 수표 :
    IS_BOOL 변수 유형이 부울 값인지 확인하는 반면 IS_NULL은 변수의 값이 NULL 인지 확인합니다. 이것은 IS_BOOL이 변수가 부울 값인지에 대해서만 관심이 있고 변수의 특정 내용에 관심이 없다는 것을 의미합니다. IS_NULL 은 변수의 값이 부울 값인지 다른 유형이더라도 널이 아닌지에 대해서만 관심이 있습니다.

  • 시맨틱 차이점 :
    IS_BOOL은 논리적 부울 값 ( true 또는 false )에 더 중점을두고, IS_NULL은 변수가 "비어있는"(어떤 값없이)에 초점을 맞 춥니 다. 이 두 기능은 변수의 상태를 판단하는 데 사용되지만 판단 기준은 다릅니다.

4. 왜 그런 차이가 있습니까?

느슨하게 입력 된 언어로서 PHP는 서로 다른 유형의 값을 서로 변환 할 수 있도록합니다. 많은 경우에 0false가 상호 교환 가능하지만, php에서는 false는 부울 유형의 특수 값이며 null은 변수가 정의되지 않았거나 값이 없음을 나타내는 유형입니다.

  • IS_BOOL은 값이 부울 값인지 여부를 결정하는 데 특별히 사용되며 부울 값은 PHP에서 고유 한 의미를 갖습니다.

  • IS_NULL은 변수가 NULL 인지 확인하는 것입니다. 이는 그 값이 부울인지 여부와 관련이 없습니다.

이 설계 차이를 통해 개발자는 가변 유형을 사용할 때 가변 유형의 판단을보다 정확하게 제어하여 느슨한 유형으로 인한 오류 나 혼란을 피할 수 있습니다.

5. 요약

  • IS_BOOL은 변수가 부울 유형인지 확인하는 데 사용되며 반환 값은 참인지 거짓 입니다.

  • IS_NULL은 변수가 NULL 인지 확인하는 데 사용되며 리턴 값은 True 또는 False 입니다.

  • 그들의 반환 값은 주로 다른 객체와 유형을 확인하기 때문에 다르게 행동합니다. IS_BOOL은 변수가 부울 유형인지 여부에 중점을두고 IS_NULL 은 변수가 NULL 인지 여부에 중점을 둡니다.

이러한 차이를 이해하면 PHP 유형 시스템을 더 잘 이해하고 개발자가보다 정확한 코드를 작성하는 데 도움이 될 수 있습니다.