이 기사의 내용은 PHP에서 0, 비어 있음, null 및 false의 차이점에 대한 것입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
$a = 0; $b="0"; $c= ''; $d= null; $e = false; echo "5个变量-原始测试类型"; var_dump($a);//int 0 var_dump($b);//string '0' var_dump($c);//string '' var_dump($d);//null var_dump($e);//boolean false echo "<h4>empty测试</h4>"; var_dump(empty($a));//true var_dump(empty($b));//true var_dump(empty($c));//true var_dump(empty($d));//true var_dump(empty($e));//true echo "<hr>"; var_dump(isset($a));//true var_dump(isset($b));//true var_dump(isset($c));//true var_dump(isset($d));//【false】 见结论一 var_dump(isset($e));//true echo "<h4>(==)双等式测试</h4>"; var_dump($a == $b);//true var_dump($a == $c);//true var_dump($a == $d);//true var_dump($a == $e);//true !! var_dump($b == $c);//【false】见结论二 var_dump($b == $d);//【false】见结论二 var_dump($b == $e);//true var_dump($c == $d);//true var_dump($c == $e);//true echo "<h4>(===)三等式测试</h4>"; var_dump($a === $b);//false var_dump($a === $c);//false var_dump($a === $d);//false var_dump($a === $e);//false var_dump($b === $c);//false var_dump($b === $d);//false var_dump($b === $e);//false var_dump($c === $d);//false var_dump($c === $e);//false
요약:
For [0; '0' ;''; All return false Strong equal to (===) 비교는 모두 false이며 동일한 강력한 언어 결과입니다. (등호 3개 비교는 값 비교뿐만 아니라 유형 비교도 필요합니다 )
하지만 (
==) 비교의 경우 주의할 점은 다음과 같습니다. 기본 구조 및 유형 변환을 포함하는 문자열 유형결론 1: 변수 정보 유형 이해
1.null은 존재하지 않음을 의미합니다. 하단의 zval 공백 PHP(아래 구조 참조)는 해당 값을 저장하지 않으며 IS_NULL 유형 표시만 저장됩니다(그래서 비어 있음(null)=true, isset(null)=false, isset('')=true)#이라고 설명합니다. 🎜🎜#2.【0
;'0' # 🎜🎜#;
'';
false]: 이 4개는 값과 유형# 🎜🎜#결론 2: 1 문자열로 zval 공간 저장소를 엽니다. 🎜#은 문자열 ''과 동일하지 않습니다(생각해 보면 둘이 동일하다는 것을 이해하게 될 것입니다) 유형 비교 [1 길이]의 문자열이 어떻게 [0의 문자열과 같을 수 있습니까? length]) 2, int 0
그러나 문자열과 동일합니다' '
Null 평등, (동일하지 않은 비교, php 유형 변환을 수행합니다)3, string '0' 및 null#🎜 🎜#이 같지 않음, int
0#🎜🎜 #은null과 같습니다. 관련 권장 사항:
php 0과 null, false와 비어 있음의 차이 #🎜🎜 #
위 내용은 PHP에서 0, 비어 있음, null 및 false의 차이점은 무엇입니까(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!