変数の初期化とNULL

広告

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

print $name;

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

NULL型

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

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

$name = NULL;

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

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

サンプルコード

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

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHPテスト</title>
</head>
<body>

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

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

</body>
</html>

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

変数の初期化とNULL

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

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。