PHP におけるグローバルと¥GLOBALS[] の違い
PHP プログラムを開発する際、グローバルデータを使用することは避けられません。
グローバル変数 もその 1 つであり、この考え方には依然として議論の余地があります。不適切に使用すると、構造がわかりにくくなり、デバッグが難しくなります。はさらに難しいですが、その便利さは否定できません。これが、PHP が グローバル変数 global を使用する理由です。…
今日、php グローバル変数が機能しないという問題に遭遇しました。
最初に簡単なコードを示します:
上記のコードの出力は 0 です。これは、関数本体 Test の $a 変数がデフォルトでローカル変数に設定されており、$a のスコープが Test 内にあるためです。コードを次のように変更します。
関数本体 Test で使用される $a 変数をグローバル グローバル変数として宣言すると、$a はグローバル効果を持つため、出力は 1 になります。
上記の例は、グローバル変数の基本的な知識にすぎません。より複雑な変数を見てみましょう:
04 |
function Test_Global() |
出力が 0 なのはなぜですか?!!
ユーザー定義関数では、ローカル関数スコープが導入されます。 関数内で使用される変数は、デフォルトでローカル関数スコープに制限されます (include および require によってインポートされたファイル内の変数を含む)!
説明: A.php ファイル内の Test_Global は、定義されたサードパーティ関数です。この関数は、include を使用して、B.php ファイル内の $a のグローバル グローバル変数をインポートします。そのため、$a は、 Test_Global ローカル 関数スコープ内なので、B.php ファイル内の $a のスコープは、A.php 全体に影響を与えるのではなく、Test_Global 内にあります....
解決策:
1. ローカル機能からの離脱
04 |
function Test_Global() |
2. 優れたアクセサー
11 |
function Set_Global(& $var ) |
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31