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