スコープ、プログラミングの概念。一般に、プログラム コードの一部で使用される名前は常に有効/利用可能であるとは限らず、名前の利用可能性は制限されています。コード スコープは次のとおりです。この名前の範囲。以下に、PHP 変数のスコープを紹介します。
推奨チュートリアル: php 入門ビデオチュートリアル
#簡単に言うと 3 つの関数があります。ドメイン:
##ローカル スコープ グローバル スコープ スーパー グローバル スコープ
変数には次の 3 種類があります。ローカル変数 グローバル変数 スーパー グローバル変数
ローカル スコープとローカル変数
静的変数: 特別なローカル変数
意味: 関数内で、static キーワードを使用して変数を変更します。 形式:function XXX( .... ){ static $s1 = 10; //此时,$s1就是静态变量 ...... }
静的変数の特性:
静的ローカル変数の値は、関数呼び出しの終了時に破棄されません。ただし、常に予約されます。コントラスト: 非静的ローカル変数は関数呼び出しの最後に破棄されます。
つまり、関数が再度呼び出された場合、その変数(値)は引き続き使用できます。グローバル スコープとグローバル変数
関数の外部スコープのスコープであり、その中で定義されている変数がグローバル変数です。 グローバル変数は、それが配置されているグローバル スコープ内でのみ直接使用 (アクセス) できます。スーパー グローバル スコープとスーパー グローバル変数
ローカル スコープとグローバル スコープを含むスコープ全体。 スーパーグローバル変数は、すべてのスコープで使用 (アクセス) できます。 実際には、$_GET、$_POST、$_REQUEST など、限られた数の 10 個の事前定義システム変数のみがスーパー グローバル変数です。 したがって、システムの事前定義変数は、総称してスーパーグローバル変数とも呼ばれます。 #特別なスーパー グローバル変数: $GLOBALSこれは、自分で定義したすべてのグローバル変数を格納する配列でもあります。
各グローバル変数の変数名は、$GLOBALS 配列の単位です。
例:
グローバル スコープで次の変数を定義します:
$v1 = 1; //这一行执行,就有了一个这个:$GLOBALS[‘v1’], 其值为1 $v2 = ‘abc’; //这一行执行,就有了一个这个:$GLOBALS[‘v2’], 其值为’abc’ $v3 = true; //这一行执行,就有了一个这个:$GLOBALS[‘v3’], 其值为true
関数:
これにより、ローカル スコープでグローバル スコープを使用できるようになります。スコープ変数。
デモは次のとおりです:
$v1 = 10; //全局变量 function func1( ){ echo $GLOBALS[‘v1’]; //输出10; echo $v1; //报错:变量v1未定义 $s1 = $GLOBALS[‘v1’] * 5; //结果为50; $s2 = $v1 * 5; //报错:变量v1未定义 }
関数:
ローカル スコープで使用され、変更しますグローバル変数と同じ名前のローカル変数。
現時点では、ローカル変数はグローバル変数の値を使用することもできます。実際、それらは変数の参照関係に似ています。
その機能は次のようになります: $GLOBALS
$a = 10; function sum(){ global $a ; //全局变量的引用的别名 $a++; $b = $a + 1; echo $b; } sum(); // 12 echo $a ; // 11
以上がPHP変数のスコープの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。