Note: empty array is converted to null by non-strict equal '==' comparison. Use is_null() or '===' if there is possible of getting empty array.
$a = array();
$a == null <== return true
$a === null < == return false
is_null($a) <== return false
NULL
값은 변수에 값이 없음을 표현하는 특별한 값입니다. NULL
은 오직 null 타입의 값으로만 가능합니다.
다음과 같다면 변수는 null 로 간주됩니다.:
상수 NULL
이 할당됨.
아직 아무런 값도 지정되지 않은 경우.
unset() 된 경우.
NULL
로 변환하기
변수를 null 로 변환하기 위해서는 (unset) $var 와 같이 하면 변수를제거하거나 unset 하지 않고, 오직 NULL
만 리턴할 것입니다.
Note: empty array is converted to null by non-strict equal '==' comparison. Use is_null() or '===' if there is possible of getting empty array.
$a = array();
$a == null <== return true
$a === null < == return false
is_null($a) <== return false
NULL is supposed to indicate the absence of a value, rather than being thought of as a value itself. It's the empty slot, it's the missing information, it's the unanswered question. It's not a jumped-up zero or empty set.
This is why a variable containing a NULL is considered to be unset: it doesn't have a value. Setting a variable to NULL is telling it to forget its value without providing a replacement value to remember instead. The variable remains so that you can give it a proper value to remember later; this is especially important when the variable is an array element or object property.
It's a bit of semantic awkwardness to speak of a "null value", but if a variable can exist without having a value, the language and implementation have to have something to represent that situation. Because someone will ask. If only to see if the slot has been filled.