変数のスコープ(有効範囲)
当ページのリンクには広告が含まれています。
PHPにおける「変数のスコープ(有効範囲)」について、解説します。
変数のスコープ
変数のスコープとは、定義した変数がどこまで利用できるのか?という有効範囲のことです。
変数にはスコープ(有効範囲)の異なる「グローバル変数」「ローカル変数」「スーパーグローバル変数」という3つの変数があります。
<?php
function 関数名() {
// ローカル変数
$var_local = "ローカル";
}
// グローバル変数
$var_global = "グローバル";
?>
- グローバル変数
関数の外で定義されたもので、スクリプト内のすべてで利用可能です。
- ローカル変数
関数内で定義されたもので、その関数内でしか利用できません。
- スーパーグローバル変数
いつでもどこでも使える変数のことで、あらかじめ定義されている変数のいくつかが該当します。
詳細はこちら » 定義済み変数の一覧表
関数内でグローバル変数を使う場合には、以下のように参照宣言する必要があります。
global 変数名1, 変数名2, ... ;
それではサンプルスクリプトをみてみましょう。
サンプルスクリプト
関数の外で定義した変数を関数内で呼び出すサンプルスクリプトです。
<?php
// 関数の宣言
function local() {
$var_local = "Hello ";
// グローバル変数の参照宣言
global $var_global;
echo $var_local . $var_global ."\n";
}
$var_global = "World";
// 関数の呼び出し
local();
?>
実行結果です。
Hello World
関数内でグローバル変数が参照されていることがわかりますね。
次は「変数の型変換 - 型キャストの一覧表」をみてみましょう。