変数
変数は、$ではじめ以下のルールを守れば好きな名前をつけることができます。
- 変数は、$で始める
- 変数名に使える文字は、英数字、アンダースコア
- 変数名の最初に数字は使えない
- 大文字と小文字は区別される
php では、変数の宣言や明示的に型を指定する必要がありません。
変数には、スコープという有効範囲があり、関数内にあるものをローカル変数と呼び、どの関数にも含まれない変数をグローバル変数と呼びます。ローカル変数とグローバル変数は、同じ名前であってもまったく別のものとして扱われます。
例えば、
<?php
$i=1;
print calc();
function calc(){
return ($i+1);
}
?>
このスクリプトの結果は、1 が表示されます。これは、関数内の$iと関数外の$i を別のものと考えているからです。
では、2 という結果を返すにはどうすればいいのでしょう。
<?php
$i=1;
print calc();
function calc(){
global $i;
return ($i+1);
}
?>
global $iと関数内で宣言することで$i はグローバル変数だと明示的に表します。このように、 global と宣言することで関数内でグローバル変数の値を使用することができます。
可変変数
php には、可変変数という変数名を動的に設定できる変数があります。可変変数の記述は、変数の前に$つけるか${$i}と記述します。
使用方法:
<?php
$a = "name";
$name = "Hello World!";
print $$a;
?>