PHPのNULL型

NULLは、変数が値を持っていないことを表す特殊な型です。NULL型の値は、値を持っていないことを表すNULLのみとなります。PHPでは、NULLの大文字・小文字は区別されないので、nullと記述することもできます。

では、変数がNULLとなるケースを見てみましょう。下記のように、定数NULLが代入された変数はNULLとなります。

PHP

<?php
$null_00 = NULL;
var_dump($null_00); // 出力:NULL
?>

また、値が何も代入されていない変数もNULLとなります。下記コードでは、何も値を代入していない変数をvar_dump()で出力していますが、変数が未定義であるE_NOTICEの警告が発生した上で実行は継続され、NULLが出力されます。

PHP

<?php
$null_01;
var_dump($null_01); // 出力:NULL(E_NOTICE発生)
?>

また、定義した変数をunset()で破棄した場合も値はNULLとなります。下記コードでは、unset()した変数をvar_dump()で出力していますが、変数が未定義であるE_NOTICEの警告が発生した上でNULLが出力されます。一方、NULLを代入した変数も値は同じNULLですが、変数は定義されているものとして扱われている点に違いがあります。

PHP

<?php
$null_02 = NULL;
$null_03 = 1;
unset($null_03);
var_dump(isset($null_02)); // 出力:bool(false)
var_dump(isset($null_03)); // 出力:bool(false)
var_dump($null_02); // 出力:NULL
var_dump($null_03); // 出力:NULL(E_NOTICE発生)
?>