変数

■概要

	
変数とは値を保存するための箱のことです。
この箱の中に数や文字を保存して計算などに使用します。

●書式
	書式例:
		$変数名;

	具体例:
		$val;
		$val = 10;

	変数の書式は変数名の前に「$」をつけます。
	
●変数名
	変数には必ず名前をつける必要があります。
	そうしないと、プログラム中にどの変数に値を覚えさせたか
	分からなくなるからです。
	この変数に付ける名前のことを「変数名」と呼びます。

	・変数名のルール
		変数名には以下のルールがあります。

		①.先頭は_(アンダーバー)か大小の英字を使用すること

		②.2文字目以降は_(アンダーバー)か大小の英字か
		  数字を使用すること

		③.予約語は使用禁止

●代入
	代入とは変数に値を保存させる方法のことです。
	「=」記号を使用します。

	書式例:
		$変数名 = 値;

	具体例:
		$val = 10;
		echo $val;

		出力結果:
			php_0012

	上の具体例では変数valに10を代入しています。
	このプログラム以降はvalは値を変えない限り
	「10」として使用できます。

■型

変数には「整数型」や「浮動小数点型」など、
「」という変数の値を表す情報を持っています。

●数値型
	「数値型」は数を扱う型です。
	「整数型」と「浮動小数点型」の2種類があります。

	・整数型(int)
		10や-100などの整数の値を扱えます。

	・浮動小数点型(float or double)
		10.0、99.99などの実数を扱えます。

●文字列型(string)
	「文字列型」は"あいう"、"PHP"などの文字列を扱えます。
	文字列は文字を「""」か「''」のいずれかで囲います。

	・""と''の違い
		""と''の違いは文字内の変数の扱いが異なることです。
		""では変数はその変数が入っている値に変換されますが、
		''では変数名がそのまま表示されます。

		例:
			$str = "abc";
			echo "$str<br>";
			echo '$str';

			出力結果:
				php_0006

	・文字結合
		PHPの文字列は「.」を使用することで簡単に結合することができます。

		例:
			$str = "abc" . "def";
			echo $str;

			出力結果:
				php_0007

	・注意点
		""では「""」、「''」が文字列中には使用できません。
		使用する場合には「\」をつける必要があります。

	・ヒアドキュメント
		ヒアドキュメントとは長文を代入する機能のことです。

		・書式
			$変数名 = <<< ラベル名
				ここに文章を書く
			ラベル名;

		・具体例
			$str = <<< DOC
				abcdefg<br>
				hijklmn
			DOC;

			echo "$str";

			出力結果:
			php_0008

		・ラベル名
			ラベル名は以下の条件を満たしていたら
			どんな名前でも問題ありません。

			・先頭の文字は_(アンダーバー)と大小の英字
			・2文字目以降は_(アンダーバー)と大小の英字と数字
			・予約語禁止

		・注意点
			終了ラベルの前後に空白文字(タブを含む)を入れた場合
			以下のようにエラーになるので注意して下さい。

			php_0009

●論理型(bool)
	論理型は真(true)か偽(false)のどちらかの値のことです。
	この論理型を使用してif文などの条件式が動作します。
	値を使用する際はtrue、falseを代入しますが、
	全て大文字の「TRUE」「FALSE」でも問題ありません。

●NULL型
	NULL型は変数が値を持っていいないことを証明するために使用する値です。
	NULL型の値はNULLしかありません。
	こちらも全て大文字の「NULL」、全て小文字の「null」のどちらでも使用可能です。

	・NULL型の注意点
		「0」でもNULLと同等の扱いをする言語もありますが、
		PHPでは0とNULLは別の値ですので注意して下さい。

■変数の特性

PHPの変数はデータ型の種類を持っていますが、代入時はデータ型に関係なく代入可能です。

	例:
		$val = 10;
		echo "val = $val<br>";
		$val = "abcdef";
		echo "val = $val<br>";

		出力結果:
			php_0010

この機能は大変便利ではありますが、どのような型で入っているか
確定していないということでバグの原因になりえますので注意が必要です。
例えば数値が入っていると思って計算したら文字列が入っており、
こちらが求める結果にならなかったなどありえます。
変数名やコメントでどのようなデータか分かるようにして
問題をできる限り回避するようにして下さい。

■リファレンス

リファレンスとは既に使用している変数と連動する変数を作成する機能です。

●書式
	書式例:
		$元の変数;
		$連動用変数 = &$元の変数;

	具体例:
		$a = 10;
		$b = &$a;
		$b = 100;
			
		echo "a = $a<br>";
		echo "b = $b<br>";

		出力結果:
			php_0011

	上の具体例から分かるようにリファレンスを使用した変数の値を
	変更すると、元の変数の値も変更されます。