PHP変数の再定義
- 変数に値を代入するには代入演算子=を使う
- 変数の再定義は値を代入することでできる
- 変数のデータ型は入っている値によってPHP側で判断する
変数に値を格納するには「=」で値を指定します。宣言時に格納する事も可能です。
格納する値は数値であればそのまま、文字列であればクォーテーションで囲います。ただ数値をクォーテーションで囲っても数値として扱われる事は留意してください。NULLを格納した場合はNULLとして扱われます。
なおPHPでは変数の型を宣言することはできません。 変数の型は格納された値によって自動的に変わります。 例えば文字列を格納していた変数に数値を入れると型は数値型に変わります。 (PHPでは型を無視して値を格納しても問題ありません)
変数の宣言
変数の値の格納
arg1; //値を格納しないと変数を扱えないため、エラーではないが無意味
$arg2 = NULL; //NULLとして扱われる。あまり意味のない宣言
$arg3 = 3; //数値
$arg4 = "4"; //クォーテーションで囲っても数値なら数値として扱われる
$arg5 = "文字列"; //文字列として扱われる
変数の値の格納
arg6 = 文字列; //文字をクォーテーションで囲っていないのでエラー
変数の再定義
変数の再定義はその変数に値を格納することで実現します。 変数$varに2回値を格納して、それぞれ内容を出力してみます。
変数の再定義
lt;?PHP
$var = "値1";
echo "<p>$var:" . $var ."</p>";
$var = "値2";
echo "<p>$var:" . $var ."</p>";
?>
結果は上と下で変わります。「値2」が格納された時点で変数が再定義され、元の値1は消えてなくなったのです。
出力結果
var:値1
$var:値2
データ型の違う内容を変数に格納
データ型が違う内容を変数に格納しても問題ありません。 例えば文字列を格納して文字列となっている変数$varに数値を入れても問題ありません。
データ型の違う内容を変数に格納
lt;?PHP
$var = "値1";
echo "<p>$var:" . $var . "</p>";
$var = 100;
echo "<p>$var:" . $var . "</p>";
?>
出力結果です。なお$var1は数値型として再定義されています。
出力結果
var:値1
$var:100
計算結果を変数に格納
変数には計算した結果を格納することもできます。
計算結果を変数に格納
var = 5 + 3 * 4;
echo "<p>$var:"."$var"."</p>";
出力結果
var:17
変数を演算
ちょっとややこしいですが下のようなこともできます。 出力結果がどうなるか、少し考えてみてください。
計算結果を変数に格納
var1 = 3;
$var2 = 5;
$var1 = $var1 + $var2;
echo "<p>$var1:" . $var1 . "</p>";
答えは8です。$var1に$var1の3と$var2の5を加算した結果を格納するのでこうなるのです。
出力結果
var1:8