変数は実際には、情報を保存するために使用するコンテナーと同等であることがわかっています。命名規則については、皆さん比較的よくご存じだと思いますので、ここでは詳しく説明しません。ここでは主に、PHP 変数の 2 つのスコープ、グローバル変数とローカル変数について説明します。
これら 2 つの変数スコープを見ると、global&static という 2 つの単語が誰でも頭に浮かぶと思います。はい、その 2 つの言葉です。
すべての関数の外で定義された変数にはグローバル スコープがあることがわかっています。関数に加えて、スクリプトのどの部分からもグローバル変数にアクセスできます。関数内のグローバル変数にアクセスするには、global キーワードを使用する必要があります。ただし、PHP 関数内で宣言された変数はローカル変数であり、関数内でのみアクセスできます。次に例を見てみましょう:
<?php $x=5; // 全局变量 function myTest() { $y=10; // 局部变量 echo "<p>测试函数内变量:<p>"; echo "变量 x 为: $x"; echo "<br>"; echo "变量 y 为: $y"; } myTest(); echo "<p>测试函数外变量:<p>"; echo "变量 x 为: $x"; echo "<br>"; echo "变量 y 为: $y"; ?>
上の例では、myTest() 関数は $x 変数と $y 変数を定義します。 $x 変数は関数の外部で宣言されているためグローバル変数であり、$y 変数は関数の内部で宣言されているためローカル変数です。
myTest() 関数を呼び出して 2 つの変数の値を出力すると、関数はローカル変数 $y の値を出力しますが、$x の値は出力できません。 $x 変数は関数の外部で定義されており、関数内で使用することはできません。関数内のグローバル変数にアクセスしたい場合は、global キーワードを使用する必要があります。
次に、myTest() 関数の外側に 2 つの変数の値を出力します。関数はすべてのローカル変数 $x の値を出力しますが、$y の値は出力できません。 $y 変数は関数内で定義されており、ローカル変数です。
これから、異なる関数で同じ変数名を使用できることがわかります。これらの関数で定義された変数名はローカル変数であり、その関数内でのみ機能するためです。これはちょっとした裏技とも言えます。
早速、まずグローバル キーワードを見てみましょう。 global キーワードは、関数内のグローバル変数にアクセスするために使用されます。関数の外で定義されたグローバル変数を関数内で呼び出すには、関数内の変数の前に global キーワードを追加する必要があります。例を見てみましょう:
<?php $x=5; $y=10; function myTest() { global $x,$y; $y=$x+$y; } myTest(); echo $y; // 输出 15 ?>
PHP はすべてのグローバル変数をファイルに保存します$GLOBALS[index] の配列内の名前。インデックスは変数の名前を保持します。この配列は関数内でアクセスすることも、グローバル変数を更新するために直接使用することもできます。したがって、上記の例は次のように書くことができます:
<?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; ?>
以上がPHPで変数をグローバル変数にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。