基本的な事PHP の変数はドル記号の後に変数名が続く形式で表されます。 変数名は大文字小文字を区別します。
変数名は、文字
(
ヒント
ユーザーレベルでの命名の手引き も参照ください。 例1 有効な変数と無効な変数
PHP は、任意のバイトの連続を変数名として受け入れます。 既に述べたルールに従わない変数名は、実行時にのみ動的にアクセスできます。 アクセスする方法については 可変変数 を参照ください。 例2 曖昧な変数名にアクセスする
上の例の出力は以下となります。 bar bar デフォルトでは、変数に代入されるのは常にその値です。 これは、つまり、ある変数にある式を代入する際、元の式の 値全体がコピーされる側の変数にコピーされるということです。 これは、例えば、ある変数の値を他の変数に代入した後で、 これらの変数の1つを変更しても他の変数には影響を与えないという ことを意味します。この種の代入に関するより詳細な情報については、 式 を参照ください。 PHP には、変数に値の代入を行う別の方法も存在します。それは、 参照による代入 です。 この場合、新規の変数は元の変数を参照するだけです。 (言いかえると、元の変数の"エイリアスを作る"または元の変数を"指す") 新規の変数への代入は、元の変数に影響し、その逆も同様となります。
参照により代入を行うには、代入する変数(ソース変数)の先頭に
アンパサンドを加えます。たとえば、次の簡単なコードは
'
注意すべき重要な点として、変数のみが参照により代入できる ということがあります。
PHP では変数を初期化する必要はありませんが、
そうするのはとてもよいことです。
初期化されていない場合、
例3 未初期化の変数のデフォルト値
上の例の出力は以下となります。 Warning: Undefined variable $unset_var in ... NULL PHP は、未定義の変数からの配列の autovivification (新しい配列の自動生成) を許可しています。 未定義の変数に要素を追加する操作は、 新しい配列を生成し、警告は発生しません。 例4 未定義の変数から配列を自動生成する
警告
初期化されていない変数のデフォルト値に依存すると、そのファイルを include している別のファイルで同名の変数が使用されていた場合に問題を起こします。 変数は、言語構造 unset を使って破棄できます。 変数に関連した関数については、 関数リファレンス を参照ください。 |