PHP에서 IS_BOOL 및 GETTYPE는 변수의 유형을 확인하는 일반적으로 사용되는 두 가지 기능입니다. 그것들은 모두 유형 검사를 처리하는 데 사용될 수 있지만, 특히 부울 값을 판단 할 때 행동과 목적에 상당한 차이가 있습니다. 이 기사는 IS_BOOL 과 GETTYPE 의 차이점을 심층적으로 탐구하고 부울 가치를 판단하기 위해 GetType 에만 의존 할 수없는 이유를 설명합니다.
IS_BOOL은 변수가 부울 값인지 여부를 결정하는 데 특별히 사용되는 기능입니다. 부울 값에 대한 두 가지 가능한 값은 참 과 거짓입니다 . 이 함수의 반환 값은 부울 값이며 변수의 유형이 부울 값 인 경우 사실입니다 .
<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">1</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>이 예에서 IS_BOOL ($ var1)은 $ var1 의 값이 부울 사실 이므로 true를 반환합니다. IS_BOOL ($ var2) 은 $ var2 의 값 이 1 이더라도 여전히 부울 가치가 아닙니다.
GetType는 변수의 유형을 얻을 수있는 함수입니다. 변수의 유형을 나타내는 문자열을 반환합니다. IS_BOOL과 달리 GetType은 부울 유형뿐만 아니라 모든 유형의 문자열 설명을 반환합니다.
<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">1</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">gettype</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>); </span><span><span class="hljs-comment">// 산출:boolean</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">gettype</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>); </span><span><span class="hljs-comment">// 산출:integer</span></span><span>
</span></span>위의 예에서 GetType ($ var1)는 부울을 반환하여 변수 $ var1 이 부울임을 나타냅니다. GetType ($ var2)는 정수를 반환하여 변수 $ var2 가 정수임을 나타냅니다.
이 두 기능은 변수 유형을 확인하는 데 사용되는 것처럼 보이지만 실제로 사용될 때 몇 가지 주요 차이점이 있습니다.
전용 : IS_Bool은 변수가 부울인지 여부를 결정하는 데만 사용되며 GetType는 부울 , 정수 , 문자열 등을 포함한 모든 PHP 유형을 반환 할 수있는 일반적인 유형 감지 기능입니다.
반환 값 : IS_BOOL 부울 값을 반환하고 GetType은 변수의 유형을 설명하는 문자열 을 반환합니다.
유형 일치 : IS_BOOL은 변수가 엄격하게 부울 인 경우에만 true를 반환하는 반면 GetType은 True 와 False를 구별하지 않고 부울 같은 문자열을 반환합니다.
GetType는 부울 값 을 직접 반환하는 대신 변수의 유형 이름 문자열 (예 : 부울 )을 반환합니다. gettype를 사용하여 부울을 판단하는 경우, true 와 false를 부울 로 분류하고 구별 할 수 없습니다. 즉, 부울 값이 GetType 에 의해 참 인지 거짓 인지 판단 할 수 없으며 변수가 부울 유형인지 판단 할 수 있습니다.
<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-literal">false</span></span><span>;
</span><span><span class="hljs-variable">$var3</span></span><span> = </span><span><span class="hljs-number">1</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">gettype</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>); </span><span><span class="hljs-comment">// 산출:boolean</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">gettype</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>); </span><span><span class="hljs-comment">// 산출:boolean</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">gettype</span></span><span>(</span><span><span class="hljs-variable">$var3</span></span><span>); </span><span><span class="hljs-comment">// 산출:integer</span></span><span>
</span></span>$ var1 과 $ var2 는 모두 부울 값이지만 GetType는 단순히 부울을 반환하며 참 인지 거짓 인지를 구별 할 수 없습니다. 진실 과 거짓을 명확하게 구별하려면보다 구체적인 판단 방식을 사용해야합니다.
변수가 부울 값인지 정확하게 결정하려면 가장 좋은 방법은 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-literal">false</span></span><span>;
</span><span><span class="hljs-keyword">if</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-keyword">echo</span></span><span> </span><span><span class="hljs-string">"var1 부울 가치입니다\n"</span></span><span>;
}
</span><span><span class="hljs-keyword">if</span></span><span> (</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-keyword">echo</span></span><span> </span><span><span class="hljs-string">"var1 예 true\n"</span></span><span>;
}
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$var2</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"var2 예 false\n"</span></span><span>;
}
</span></span>이 예에서는 먼저 IS_BOOL을 사용하여 변수가 부울 값인지 확인하십시오. 그런 다음 엄격한 비교 연산자 ===를 사용하여 그것이 참 인지 거짓 인지 확인하십시오.
IS_BOOL 및 GETTYPE 는 모두 유용한 도구이지만 다른 시나리오에 적합합니다. IS_BOOL은 변수가 부울 값인지 여부를 결정하는 데 특별히 사용되며 GetType은 보다 일반적인 유형 정보를 얻는 데 사용됩니다. 부울 값을 판단 할 때는 값을 true 및 false를 배포 할 수 없기 때문에 GetType를 직접 사용하는 것이 부정확합니다. 따라서 부울 유형을 판단 해야하는 경우 IS_BOOL을 사용하여 직접 비교하여 특정 값을 결정하는 것이 좋습니다.