Is null a type in php?

The special null value represents a variable with no value. null is the only possible value of type null.

A variable is considered to be null if:

  • it has been assigned the constant null.

  • it has not been set to any value yet.

  • it has been unset().

Syntax

There is only one value of type null, and that is the case-insensitive constant null.

See also the functions is_null() and unset().

Casting to null

Warning

This feature has been DEPRECATED as of PHP 7.2.0, and REMOVED as of PHP 8.0.0. Relying on this feature is highly discouraged.

Casting a variable to null using (unset) $var will not remove the variable or unset its value. It will only return a null value.

quickpick

11 years ago

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

mattias at kregert dot se

1 year ago

Note that NULL works like a magic object with any attribute you can name, but they are all NULL:

foreach ( [ null, null ] as $person ) {
  $friends[] = [ 'Name'=>$person['name'], 'Phone'=>$person['cell'] ];
}

print_r($friends);

Array
(
    [0] => Array
        (
            [Name] =>
            [Phone] =>
        )

    [1] => Array
        (
            [Name] =>
            [Phone] =>
        )

)

This means that:
* NULL == NULL['foo']['bar']['whatever']

This can be slightly confusing if you accidentally slip a NULL into an array of other items.

Hayley Watson

4 years ago

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.

Anonymous

4 years ago

Note: Non Strict Comparison '==' returns bool(true) for

null == 0 <-- returns true

Use Strict Comparison Instead

null === 0 <-- returns false

hydrogen at live dot in

1 year ago

I would like to add for clarification that:

$x=NULL;

--$x;
// $x is still NULL.
// Decrementing NULL, using Decrement Operator, gives NULL.

$x-=1;
// $x is now int(-1).
// This actually decrements value by 1.

On the other hand, Incrementation works simply as expected.
Hope this helps :)

Mojo

1 year ago

Pay attention then using operator -- on NULL values:

$x = null;
--$x;      // $x is NULL
$x--;      // still NULL
$x -= 1;   // $x is -1

On other side for ++ everything works fine:

$x = null;
++$x;      // $ix is 1

What is a NULL in PHP?

In PHP, a variable with no value is said to be of null data type. Such a variable has a value defined as NULL. A variable can be explicitly assigned NULL or its value been set to null by using unset() function.

Is NULL an object in PHP?

Null object design pattern is a software design pattern where the null object replaces the checking for null values. It defines the default behavior of some service class method and does nothing.

IS NULL a string in PHP?

When it comes to database columns, PHP's NULL has no place there. You see, SQL is a string based language. SQL's NULL must be represented by NULL with no quotes.

Is NULL true or false PHP?

NULL essentially means a variable has no value assigned to it; false is a valid Boolean value, 0 is a valid integer value, and PHP has some fairly ugly conversions between 0 , "0" , "" , and false . Show activity on this post. Null is nothing, False is a bit, and 0 is (probably) 32 bits.