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)