PHP のスコープには、 グローバルスコープ と ローカルスコープ(関数内、メソッド内)があります。
$foo = 'AAA'; // グローバルスコープの変数を定義
function myfunc() {
$bar = 'BBB'; // ローカルスコープの変数を定義
global $foo; // グローバル変数にアクセスする場合は global キーワードを使用する
}
ブロックスコープは存在しないため、for
ループのブロック内で定義した変数などは、そのブロックを抜けた後もアクセス可能です。
ローカルスコープからグローバル変数にアクセスするには、通常 global
キーワードでの指定が必要ですが、スーパーグローバル変数と呼ばれているグローバル変数には、いつでも、どのスコープからでも参照できます。
スーパーグローバル変数には、以下のようなものがあります。
$GLOBALS
$_GET
$_POST
$_COOKIE
$_SESSION
$_ENV