PHP - 変数の基本

変数の基本

PHP の変数は $ の後に変数名が続く形式で表されます。変数名は大文字小文字を区別します。有効な変数名は文字、またはアンダースコアから始まり、任意の数の文字、 数字、アンダースコアが続きます。

<?php
  $var = 'Bob';
  $Var = 'Joe';
  echo "$var, $Var";      // "Bob, Joe"

  $4site  = 'not yet';    // 無効 (数字で始まっている)
  $_4site = 'not yet';    // 有効
  $tayte  = 'mansikka';   // 有効
  
  $this = 0;              // 無効 ($this は特別な変数)
?>
変数の基本

基本的に変数に代入される値は、代入される値のコピーです。しかし、PHP には変数に値の代入を行う以外に、参照による代入もサポートされています。この場合、新規の変数は元の変数を参照するだけです。新規の変数への代入は、元の変数に影響し、その逆も同様となります。参照により代入を行うには、代入する変数の先頭に &を加えます。

<?php
  $foo = 'Bob';              
  $bar = &$foo;              // $foo を $bar により参照
  $bar = "My name is $bar";  // $bar を変更
  
  echo $bar;                 // My name is Bob
  echo $foo;                 // My name is Bob ($foo も変更される)
?>
参照による代入

注意すべき重要な点として、名前のある変数のみが参照により代入できる点です。

<?php
  $foo = 25;
  $bar = &$foo;      // 有効
  $bar = &(24 * 7);  // 無効 (名前のない式の参照)
?>
参照による代入

PHP では変数を初期化する必要はありません。初期化されていない変数の値は、その型のデフォルト値が設定されます。例えば、boolean なら FALSEintegerfloat ならゼロ、文字列なら空文字列、配列なら空配列となります。ただし、設定も参照もされていない変数は NULL となります。変数が初期化されているかどうかの判断には isset() を使用します。

関連記事