php가 비어있을 때 null입니까?

에 대해 질문이 있습니다.NULLPHP:


$a = '';
if($a == NULL) {
echo 'is null';
} 

이 경우 null로 표시되는 이유는 무엇입니까?$a빈 문자열입니까?그거 버그예요?



질문에 대한 답변



원하는 것은 다음과 같습니다.

if($variable === NULL) {...} 

주의:===.
사용시==PHP에서는 NULL, false, 0, 문자열 빈 배열이 동일하게 취급됩니다.




다음 표와 같이empty($foo)와 동등하다$foo==null그리고.is_null($foo)와 같은 기능을 가지다$foo===null또한 이 표에는 다음과 같은 몇 가지 까다로운 값이 나와 있습니다.null비교.(variable은 초기화되지 않은 변수를 나타냅니다.)


empty
is_null
==null
===null
isset
array_key_exists
ϕ
T
T
F
F
null
T
T
F
T
""
T
F
T
T
[]
T
F
T
T
0
T
F
T
T
false
T
F
T
T
true
F
F
T
T
1
F
F
T
T