ホームページ  >  記事  >  バックエンド開発  >  グローバル変数とは何ですか? PHP変数のスコープのグローバル変数例を詳しく解説

グローバル変数とは何ですか? PHP変数のスコープのグローバル変数例を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-05-08 10:55:152350ブラウズ

グローバル変数とは何ですか?

グローバル変数は、関数の外で定義され、そのスコープは変数が定義された場所から始まり、プログラムファイルの最後で終わります。他のプログラミング言語とは異なり、グローバル変数は自動的には使用可能になりません。前の章では、php変数の範囲内でローカル変数を紹介しましたPHPでは、関数は別個のプログラムコードフラグメントと見なすことができるため、ローカル変数はグローバル変数の可視性をオーバーライドします。関数内 グローバル変数を直接呼び出すことはできません。

コードの形式は次のとおりです。

<?php
 $one = 10;
 $two = 20;
 // 测试在函数内部不能直接使用全局变量 $one 和 $two
 function sum(){
   // 在函数内部新声明并且没有赋初始值的两个变量
   echo "运算结果:".($one+$two)."<br>";
 }
 sum();    //调用函数
?>

プログラム実行後の出力結果は次のとおりです。

运算结果:0             // 两个变量没有初始值则为 NULL ,执行两个空值相加后结果为 0
上記の例では、2 つのグローバル変数 $one が関数 sum の外側で宣言されています。 () と $twe を使用できますが、PHP では、関数内でグローバル変数を直接使用できません。したがって、sum() 関数で使用される変数は $one と $twe で、これらは 2 つの再宣言された変数に相当し、初期値が割り当てられていない 2 つの未定義の null 値に対する演算であるため、結果は 0 になります。関数でグローバル変数を使用する場合は、キーワードを使用してターゲット変数を定義する必要があります。このグローバル変数のキーワードは「global

」です。キーワード「global」を使用すると、グローバル データをローカル部分にインポートできます。関数のスコープを使用して、この変数がグローバル変数であることを関数本体に伝えます。

以下は関数内でキーワード「global

」を使用して関数外で宣言したグローバル変数を呼び出す例です。

<?php
 $one = 10;
 $two = 20;
 // 测试在函数内部使用关键字加载 global 全局变量 $one 和 $two
 function sum(){
   //在函数内部使用关键字加载 global 全局变量,加载多个使用逗号分隔
   global $one, $two;
   // 使用函数外部声明的全局变量
   echo "运算结果:".($one+$two)."<br>";
 }
 sum();    //调用函数
?>

プログラム実行後の出力結果は以下の通りです。

运算结果为 30         // 使用 global 关键字就可以加载全局变量在函数内使用

The "global" " キーワードが使用されています グローバル変数をインポートします。これはうまく機能し、シンプルであるように見えますが、グローバル データを定義するために「global」キーワードを使用することには依然として懸念があります。理由は 3 つあります:

1. コードの再利用はほぼ不可能です。

関数がグローバル変数に依存している場合、この関数を異なる環境で使用することはほぼ不可能です。もう 1 つの問題は、この関数を抽出して他のコードで使用できないことです。

2. 問題をデバッグして解決するのは非常に困難です。

グローバル変数を追跡することは、非グローバル変数を追跡することよりもはるかに困難です。グローバル変数は、不明瞭なインクルード ファイルで再定義されている可能性があり、非常に優れたプログラム エディタ (または IDE) を使用していても、問題を発見するまでに数時間かかる場合があります。

3. これらのコードを理解するのは非常に困難です。

グローバル変数がどこから来て何に使われるのかを理解するのは困難です。開発プロセス中はすべてのグローバル変数を知っているかもしれませんが、約 1 年後には、少なくとも一部のグローバル変数を忘れてしまう可能性があります。その時点で、非常に多くのグローバル変数を使用したことを後悔するでしょう。

$GLOBALS

関数でグローバル変数を使用する global キーワードの使用に加えて、特別な php カスタム $GLOBALS

配列も使用できます。前の例は、グローバルの代わりに $GLOBALS を使用して作成できます。

コードは次のとおりです:

<?php
 $one = 10;
 $two = 20;
 function sum(){
   //在函数内部使用 $GLOBALS 访问全局变量,
   $GLOBALS["two"] = $GLOBALS["one"] + $GLOBALS["two"];
 }
 sum();    //调用函数
 echo $two;
?>
説明: $GLOBALS 配列では、各変数は要素であり、キー名は変数名に対応し、値は変数の内容に対応します。 $GLOBALS はスーパーグローバル変数であるため、グローバル スコープ内に存在します。

上記は、グローバル変数の定義とphp変数の範囲内のグローバル変数の例の紹介です。次の章では、phpの静的変数

とは何かを紹介します。

【おすすめ関連チュートリアル】

1.「php.cn Dugu Jiijian (4) - PHPビデオチュートリアル

2. PHPプログラミングの入門からマスターまでの完全なビデオチュートリアル

3. . php実践的なビデオチュートリアル

🎜

以上がグローバル変数とは何ですか? PHP変数のスコープのグローバル変数例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。