「PHPの基礎 - 関数」の版間の差分

ナビゲーションに移動 検索に移動
212行目: 212行目:
  Hello, Charlie!
  Hello, Charlie!
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
== グローバル変数の使用 ==
PHPのスコープルールにおいて、グローバルスコープで定義された変数は、関数の内部からは自動的にはアクセスできない。<br>
これはPHPの<u>変数スコープの分離</u>という特徴によるものである。<br>
<br>
関数内でグローバル変数を使用する場合は、以下に示すいずれかの方法を使用する必要がある。<br>
* globalキーワードを使用する方法
<syntaxhighlight lang="php">
$hoge = 1;
function func1()
{
    global $hoge;  // グローバル変数を関数内で使用することを宣言
    echo "$hoge";
}
</syntaxhighlight>
<br>
* $GLOBALS`配列を使用する方法
<syntaxhighlight lang="php">
$hoge = 1;
function func1()
{
    echo "$GLOBALS['hoge']";
}
</syntaxhighlight>
<br>
<u>※注意</u><br>
<u>グローバル変数の使用は避け、代わりに引数として値を渡すことが推奨される。</u><br>
<u>これにより、関数の依存関係が明確になり、テストや保守が容易になる。</u><br>
<u>ソースコードの予測可能性と再利用性も向上する。</u><br>
<br><br>
<br><br>


案内メニュー