変数の初期化とNULL

広告

変数は事前に宣言は不要で値を格納して初期化をした時点から利用可能になると前のページで記述しましたが、実際には値を一度も格納していない状態でも変数を使用することはできます。

print $name;

上記のように変数「name」に値を代入していない状態で使用してもエラーとはなりません。このように一度も値が代入されておらず初期化されていない変数には「NULL」が格納されていると見なされます。

NULL型

NULLはデータ型の一つで値が何も無いことを表すのに使います。NULL型として利用できる値は定義済みの値「NULL」だけです。大文字小文字は区別しないため「Null」や「null」も使用できます。

初期化されていない変数はNULLという値が格納されていると見なされます。これは明示的に次のように記述した場合と同じです。

$name = NULL;

変数にNULLを代入することによって変数には値が何も格納されていない状態となります。

エラーではありませんが、変数に値を格納しない状態はケアレスミスの元となりますので、変数は最初に使う段階で初期値を代入するようにして下さい。

サンプルプログラム

では簡単なプログラムで試して見ます。

sample2-1.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>PHPテスト</title>
</head>
<body>

<p>PHPのテストです。</p>

<p>
<?php
print $name.'さん<br />';
?>
</p>

</body>
</html>

上記のファイルをWWWサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。

変数の初期化とNULL

変数に何も値が格納されていないため、出力しようとしても何も表示されません。ただエラーにはなりません。

PHP入門の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)