[PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8]
is_null — Finds whether a variable is null
Description
is_null[mixed $value
]: bool
Parameters
value
The variable being evaluated.
Return Values
Returns true
if value
is null, false
otherwise.
Examples
Example #1 is_null[] example
Notice: Undefined variable: inexistent in ... bool[true] bool[true]
See Also
- The
null
type - isset[] - Determine if a variable is declared and is different than null
- is_bool[] - Finds out whether a variable is a boolean
- is_numeric[] - Finds whether a variable is a number or a numeric string
- is_float[] - Finds whether the type of a variable is float
- is_int[] - Find whether the type of a variable is integer
- is_string[] - Find whether the type of a variable is string
- is_object[] - Finds whether a variable is an object
- is_array[] - Finds whether a variable is an array
Malfist ¶
14 years ago
Micro optimization isn't worth it.
You had to do it ten million times to notice a difference, a little more than 2 seconds
$a===NULL; Took: 1.2424390316s
is_null[$a]; Took: 3.70693397522s
difference = 2.46449494362
difference/10,000,000 = 0.000000246449494362
The execution time difference between ===NULL and is_null is less than 250 nanoseconds. Go optimize something that matters.
george at fauxpanels dot com ¶
13 years ago
See how php parses different values. $var is the variable.
$var = NULL "" 0 "0" 1
strlen[$var] = 0 0 1 1 1
is_null[$var] = TRUE FALSE FALSE FALSE FALSE
$var == "" = TRUE TRUE TRUE FALSE FALSE
!$var = TRUE TRUE TRUE TRUE FALSE
!is_null[$var] = FALSE TRUE TRUE TRUE TRUE
$var != "" = FALSE FALSE FALSE TRUE TRUE
$var = FALSE FALSE FALSE FALSE TRUE
Peace!
contact dot 01834e2c at renegade334 dot me dot uk ¶
7 years ago
In PHP 7 [phpng], is_null is actually marginally faster than ===, although the performance difference between the two is far smaller.
PHP 5.5.9
is_null - float[2.2381200790405]
=== - float[1.0024659633636]
=== faster by ~100ns per call
PHP 7.0.0-dev [built: May 19 2015 10:16:06]
is_null - float[1.4121870994568]
=== - float[1.4577329158783]
is_null faster by ~5ns per call
ahamilton9 ¶
4 months ago
A quick test in 2022 on PHP 8.1 confirms there is still no need to micro-optimize NULL checks: