PHPでウェブの世界と繋がろう!
menu
ホーム > PHPの文法 > 2 データ型 > 2-9 NULL(ヌル)型

2-9 NULL(ヌル)型

Pocket

- 1 分ノート ! -

  • NULL型は キーワード NULL (null) で表す(大文字小文字区別なし)
  • NULL型の種類は特殊型
  • NULL型と見なされる値
    キーワードNULLが代入
    unset()されている
    値が未代入
  • NULL型のチェックは is_null() 関数 で行う

NULL型とは
POINT

  • NULL型は キーワード NULL (null) で表す(大文字小文字区別なし)

NULL型の唯一の値はNULL値です。NULL値は大文字小文字を区別しないキーワード NULL で表します。したがって、NULL Null null はすべて同じです。NULL値とは、ある変数に値が何も代入されていないことを表します。少し分かり難いかもしれまんせが、ある変数が値を持たないことを 明示的に表す値 と考えて見てください。 例えば、$var = ''; の場合は「空という値」が代入されていると評価されます。$var = 0; の場合も「0 という値」が代入されていると評価されます。$var = NULL; は「$var に何も代入されていない」ということを意味しています。

NULL値の変数を作成する

$NULL = NULL;
$NULL = Null;
$NULL = null;

これらの変数はすべてNULL型となります。

NULL型と見なされる場合
POINT

  • NULL型と見なされる値
    キーワードNULLが代入
    unset()されている
    値が未代入

変数は、以下の場合に NULL と見なされます。

・キーワードNULLが代入されている変数の場合 NULL と評価されます。

$var = NULL;

・unset() されている変数の場合 NULL と評価されます。

$var = 'test';
unset($var);

unset($var); と $var = NULL; は厳密には異なります。unsetされた変数はPHPが変数管理を行うシンボルテーブルに変数そのものが存在しないことになります。$var = NULL; の場合はシンボルテーブルに $var は存在して NULL という特殊な値が代入されていると評価されます。ですが、nunset($var) とし、isset($var)としたならば、PHPは $var を NULL値 として扱います。

・まだ値が何も代入されていない変数の場合 NULL と評価されます。

if(is_null($var) === TRUE) echo 'NULL型です。';

結果は

NULL型です。

となります。

NULL型であるか調べる
POINT

  • NULL型のチェックは is_null() 関数 で行う

ある値がNULL型かどうか調べるにはis_null()関数を使用します。

$var = NULL;
if(is_null($var) === TRUE) echo 'NULL型です。';

結果は

NULL型です。

となります。

サンプルコード

– サンプル Click Here ! –

<h3>NULL型</h3>

・NULLキーワードが代入されている<br/>
<?php
$nData = NULL;
if(is_null($nData) === TRUE) echo 'NULL型です。';
?>
<br/><br/>

・unset()されている<br/>
<?php
$nUnSet = 'test';
unset($nUnSet);
if(is_null($nUnSet) === TRUE) echo 'NULL型です。';
?>
<br/><br/>

・まだ値が何も代入されていない(初期化されていない変数)<br/>
<?php
if(is_null($nNull) === TRUE) echo 'NULL型です。';
?>
<br/><br/>
実行結果
NULL型

・NULLキーワードが代入されている
NULL型です。

・unset()されている
NULL型です。

・まだ値が何も代入されていない(初期化されていない変数)
NULL型です。

– サンプル Click Here ! –


タグ(=記事関連ワード)

タグ: , ,

日付

投稿日:2011年10月16日
最終更新日:2014年02月01日

関連記事

配列関数サンプル

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpref-nulltype/trackback/