php グローバル変数の使用方法: 関数内で global を通じて変数を宣言できます。コードは [$name = "why";function changeName(){global $name;$name = "what" です。 ; }]。
php グローバル変数の使用方法:
1. グローバル変数の定義と使用
最初、私の要件は次のとおりでした。
<?php $name = "why"; function changeName(){ $name = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>
コードを実行した結果は、changeName() の実行後に表示される内容ではなく、私の名前が理由になります。理由を分析すると、関数本体のchangeName内の$name変数がデフォルトでローカル変数に設定されており、$nameのスコープがchangeName内にあるためです。したがって、コードを変更して、次のようにグローバル変数を追加します。
<?php global $name; $name = "why"; function changeName(){ $name = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>
注: 変数をグローバルに宣言している間は、変数に値を割り当てることはできません。 global $name = "why" の使用法は間違っています。
グローバル変数を定義した後の実行結果は、やはり私の名前です この結果には驚きました。 global の正しい使用法は、「外部変数を関数に導入します。変数がパラメータを介して渡されない場合、変数は global を介して導入されます。」つまり、関数が外部変数を参照する場合です。変数を使用する場合は、関数内でグローバル経由で変数を宣言して、変数を関数内で使用できるようにすることができます (パラメーターとして渡すのと同じです)。次に、コードを再度変更します。
<?php $name = "why"; function changeName(){ global $name; $name = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>
この操作の結果は次のようになります。 my name is what は、変数のスコープをグローバルにするのではなく、パラメーターを渡すためにグローバルが使用されることを示します。次の例をもう一度見てください:
<?php $name = "why"; function changeName(){ global $name; $name = "what"; } function changeName2(){ $name = "where"; } changeName(); changeName2(); echo "my name is " . $name . "<br/>"; ?>
実行結果は次のようになります: my name is what. グローバル $name がchangeName2() に追加された場合、実行結果は次のようになります: my name is where.
要約すると、 global の役割はパラメータを渡すことと同じです。関数の外で宣言された変数を使用したい場合は、 global を使用して変数を宣言します。これは、変数を に渡すことと同じです。変数を参照します。
グローバル パラメーター定義の使用に加えて、スーパー グローバル変数 $GLOBAL:
<?php $name = "why"; function changeName(){ $GLOBALS['name'] = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>
2、グローバル、$GLOBAL
## も使用できます。 #例:<?php $var1 = 1; $var2 = 2; function test1(){ $GLOBALS['var2'] = &$GLOBALS['var1']; } test1(); echo $var2 . "<br />"; $var3 = 1; $var4 = 2; function test2(){ global $var3,$var4; $var4 = &$var3; } test2(); echo $var4 . "<br />"; ?>$var3 の参照が $var4 の参照アドレスを指しているため、$var2 の出力値は 1、$var4 の値は 2 になります。 $var4 の実際の値は変更されていません。公式の説明は次のとおりです。 $GLOBALS['var'] は外部グローバル変数そのものであり、グローバル $var は外部 $var の同じ名前の参照またはポインタです。これは、$GLOBAL がスクリプトのすべてのスコープで使用可能であり、global $variable; を実行せずに関数またはメソッドでアクセスできることを意味します。他のすべてのスーパーグローバル変数とは異なり、$GLOBALS は PHP で常に使用できます。別の例:
<?php $var1 = 1; function test1(){ unset($GLOBALS['var1']); } test1(); echo $var1 . "<br />"; $var2 = 1; function test2(){ global $var2; unset($var2); } test2(); echo $var2; ?>出力結果は、$var1 が存在せず、$var2 の値が 1 であることです。これは、$var2 が単なるエイリアス参照であり、その値がまったく変更されていないことを証明しています。つまり、グローバル $var は実際には $var = &$GLOBALS['var'] であり、これは外部変数を呼び出すための単なるエイリアスです。
プログラミング学習について詳しく知りたい方は、php training のコラムに注目してください!
以上がPHPのグローバル変数の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。