Het verschil tussen isset, empty en is_null
Er zijn verschillende functies beschikbaar waarmee je de waarde van een variabele kan testen:
isset
isset — Determine if a variable is set and is not NULL
empty
empty — Determine whether a variable is empty
is_null
is_null — Finds whether a variable is NULL
Al deze functies retoureren een boolean waarde maar als ze niet op de goede manier worden gebruikt levert dat onverwachte resultaten op.
Waarde | isset | empty | is_null |
---|---|---|---|
"" (een lege string) | bool(true) | bool(true) | bool(false) |
" " (spatie) | bool(true) | bool(false) | bool(false) |
FALSE | bool(true) | bool(true) | bool(false) |
TRUE | bool(true) | bool(false) | bool(false) |
array() (een lege array) | bool(true) | bool(true) | bool(false) |
NULL | bool(false) | bool(true) | bool(true) |
"0" (0 als een string) | bool(true) | bool(true) | bool(false) |
0 (0 als een integer) | bool(true) | bool(true) | bool(false) |
0.0 (0 als een float) | bool(true) | bool(true) | bool(false) |
var $var; (een gedeclareerde variabele, maar zonder waarde) | bool(false) | bool(true) | bool(true) |
NULL byte ("\ 0") | bool(true) | bool(false) | bool(false) |