プログラムで利用する何らかのデータを一時的に保存するには変数を使います。 変数とは、データを保存するためのメモリ領域の場所を示す識別子のことです。 変数には、数値や文字列などのリテラルや計算結果を保存することができ、後から参照することができます。
PHP では変数の管理はすべて PHP が自動的に行ってくれるため、変数の宣言や型は存在しません。 ひとつの変数に対してあらゆる型を保存することができます。
変数は必ずドル記号 $ から始まる任意の識別子です。 PHP の識別子のルールは多くのプログラミング言語と同様に、文字またはアンダースコアから始まり、任意の数の文字、 数字、アンダースコアで構成されます。 数値から始まる変数は無効です。 また、PHP の識別子は大文字と小文字を区別します。
変数にデータを保存するには代入演算子 = を用います。 演算子とは、ひとつ以上の与えられた項に対して何らかの計算や処理を行う記号のことです。 代入演算子は必ず次のような形になります。
$変数名 = 値
これで、右側の項に記述した値を左側の項である変数に設定します。 このとき、変数にもともと保存されていたデータは上書きされて失われてしまいます。 変数に新しい値を設定するこの処理を代入と呼びます。
変数から値を得るには、適切な部分で $変数名 を記述します。 実行時に、その部分では変数が保存している値に置き換わって処理されます。
<?php $var = 10; echo $var; echo "\n"; $var = 1.23; echo $var; ?>
最初の $var = 10 という文は、変数 $var に対して値 10 を代入しています。 このプログラムを実行すれば echo $var では、変数 $var に保存されている値が表示されることを確認することができます。 このように、変数は一時的に何らかのデータを保存し、必要に応じて変数保存したデータにアクセスすることができるのです。
文の中のトークンに変数を指定することで、文が実行されるときに変数は保存している値に置き換わります。 PHP では、二重引用符やヒアドキュメントの内部でも変数を使うことができ、これらの文字列リテラル内で変数名が発見されると PHP は変数の内容を文字列に変換して、文字列の一部として自動的に結合してくれます。 これを変数のパースと呼びます。
<?php $var = 10; echo "\$var = $var"; ?>
このプログラムを実行すれば、echo で指定している文字列の $var が評価されていることを確認できます。 最初の \$var は、これが変数として評価されないようにエスケープ文字を用いてドル記号を表現しています。 文字列リテラル内であるにもかかわらず変数の識別子に一致すれば、変数が保持している値に変換されることを好まない場合もあるでしょう。 そのような場合は引用符 ' を用いた文字列リテラルを使ってください。