>  기사  >  백엔드 개발  >  PHP에서 0, 비어 있음, null 및 false의 차이점은 무엇입니까(코드 예)

PHP에서 0, 비어 있음, null 및 false의 차이점은 무엇입니까(코드 예)

不言
不言원래의
2018-09-12 16:56:331857검색

이 기사의 내용은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.