スコープについて
スコープとは、ある場所で定義された変数や関数使える範囲のことをスコープという。
PHPの変数には、グローバル変数とローカル変数がある。
ローカル変数
ローカル変数は、決められた範囲内でしか使えない変数。例えば、関数の中で変数が定義されたら、その関数内でした使うことができない。
<?php
$hoge = 1;
function fuga()
{
echo $hoge;
}
fuga();
//エラーになる。$hogeは関数の中で定義されているので、関数の外では使えない。
?>
グローバル変数
グローバル変数とは、ローカル変数とは違い、関数の外でも使える変数のこと。
先ほどのローカル変数を外で使えるようにするには
<?php
$hoge = 1;
function fuga()
{
global $hoge;
echo $hoge;
}
fuga();
//結果1と表示される
$globalをつけるだけで、関数の外でも使えるようになった。
しかし、関数の外では使えるが、別の関数内では使えない。あくまでもグローバル範囲内で使えるようになる。
<?php
//グローバル範囲
function fuga()
{
//ローカル範囲
}
//グローバル範囲
function hoge()
{
//ローカル範囲
}
//グローバル範囲
?>
今回はグローバル変数とローカル変数についてまとめました。
static変数などもあるので、勉強しときます。