変数のスコープ
変数には使える範囲(スコープ)が存在する。例えば、
$num = 200;
function total($var){
return $result = $var*1.08;
}
echo total($num);
echo $result;
最後の$result
はエラー。$result
は関数の中だけで有効なローカル変数だから!
逆に関数の外で作られた変数はグローバル変数といって、どこでも共通で使える。ただし、
$num = 200;
function total($var){
echo $num;
return $result = $var*1.08;
}
echo total($num);
echo $num;
こういうときのfunction内の$num
は何も表示されない。関数内で使えるローカル変数として扱われているから。
グローバル変数を関数内で使える方法もちゃんとあって、
$num = 200;
function total($var){
global $num;
echo $num;
return $result = $var*1.08;
}
echo total($num);
echo $result;
こうすればOK。