例:
コードをコピーします。 コードは次のとおりです:
$a = 1;
include 'b.inc';> ここでの変数 $a は、インクルードされたファイルで有効になります。ファイルb.inc.ただし、ユーザー定義関数では、ローカル関数スコープが導入されます。関数内で使用される変数はデフォルトでローカル関数のスコープに制限され、現時点ではローカル変数です。
PHP のグローバル変数は、関数で使用するときにグローバルとして宣言する必要があります。
関数内でglobalを使って宣言された変数はグローバル変数となり、関数の外でも使用できます。注: 変数をグローバルに宣言する場合、変数に値を直接割り当てることはできません。最初に変数を宣言してから、値を割り当てる必要があります。
グローバルスコープでは、$GLOBALSを通じてグローバル変数にアクセスすることもできます。関数内でグローバル変数にアクセスするためにglobalキーワードを使用する必要はありません。 $GLOBALS は連想配列であり、各変数は要素であり、キー名は変数名に対応し、値は変数の内容に対応します。 $GLOBALS はスーパーグローバル変数であるため、$GLOBALS はグローバル スコープ内に存在します。
変数のスコープに関係なく、どこでも定数を定義してアクセスできます。
変数スコープのもう 1 つの重要な機能は静的変数です。静的変数はローカル関数スコープ内にのみ存在しますが、プログラムの実行がこのスコープを離れても、その値は失われません。静的変数は最初の呼び出し時にのみ初期化されます。宣言時に値を割り当てることはできますが、式の値にすることはできません。これを宣言内の式の結果に代入すると、解析エラーが発生します。
静的変数に参照(&が付いた変数またはオブジェクト)が代入されている場合、その参照は静的に保存されず、関数が2回目に呼び出されたときに静的変数の値は記憶されません。同様に、参照 (& が付いた変数またはオブジェクト) がグローバル変数に割り当てられている場合、この変数の変更は関数の外部には影響せず、スコープは関数内のみになります。