PHP NULL型 【初級編 第14回】
NULL型について
前回は string型について記載しました。
今回は特殊な型である NULL型について記載していきたいと思います。
NULL型の概要
NULL型とは
NULL型は、変数に値が無い状態を意味します。
変数に値が入っていない場合の処理を記述したい場合などに使用します。
NULL型にするには、変数名を記述して値を代入しなければ NULL型になります。
また変数に代入する文字を NULL と記述しても NULL型になります。
この代入する際の大文字や小文字の区別はないので、null のようにしても問題ありません。
この代入する NULLとは定数を表しています。
定数については詳細を後で記述しますが、PHPによってあらかじめ決められた値のようなものです。
NULL型のサンプル
以下のサンプルでは $hensuu はどちらもNULL型となります。
確認のため、gettype機能で型名を表示します。
<?php $hensuu; echo gettype($hensuu); ?>
<?php $hensuu = NULL; echo gettype($hensuu); ?>
ブラウザから確認すると、NULL という文字が表示されます。
unset機能を使用して変数を開放
unsetとは
unsetを使用すると、一度変数に代入して定義した値を破棄することができます。
値を破棄するということは、その変数は NULL型ということになります。
使用例
以下では、数値を代入した integer型の変数から、unsetを使用して値を破棄しています。
<?php $hensuu = 123; echo gettype($hensuu).$hensuu; echo "<br>"; unset($hensuu); echo gettype($hensuu).$hensuu; ?>
ブラウザから確認すると、unsetによって値が破棄され、NULLになっていることが分かります。
null型を他の型へキャスト
null型をint型にした場合
null型を integer型へキャスト(変換)すると 値が 0になります。
<?php $num = null; echo (int)$num; ?>
また float型も同様に 0になります。
<?php $num = null; echo (float)$num; ?>
ブラウザから確認すると、どちらも 0と表示されます。
ちなみに string型に変換してみた場合は、何も値は表示されません。
<?php $str = null; echo (string)$str; ?>
表示されませんでした。
今回はここまでで、次回また別の型について記載していきたいと思います。