PHP 8.4.0 RC4 available for testing

NULL

null 型は、PHP の unit 型 (意味のある情報を持たないことを示す型) です。 つまり、単一の値 null しか持ちません。

未定義、そして unset() された値は、値 null に解決されます。

文法

null 型の値は一つだけで、 大文字小文字を区別しない定数 null です。

<?php
$var
= NULL;
?>

null へのキャスト

警告

この機能は PHP 7.2.0 で 非推奨 になり、PHP 8.0.0 で 削除 されました。この機能に頼らないことを強く推奨します。

(unset) $var を使って変数を null にキャストすると、その変数を削除したり値の設定を解除したりは しません。単に null 値を返すだけです。

add a note

User Contributed Notes 2 notes

up
71
quickpick
13 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
up
47
Hayley Watson
6 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.
To Top