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 までご連絡ください。
著者別の最新記事
-
2025-02-26 03:58:14
-
2025-02-26 03:38:10
-
2025-02-26 03:17:10
-
2025-02-26 02:49:09
-
2025-02-26 01:08:13
-
2025-02-26 00:46:10
-
2025-02-25 23:42:08
-
2025-02-25 22:50:13
-
2025-02-25 21:54:11
-
2025-02-25 20:45:11
最新の問題
-
2025-03-20 18:47:42
-
2025-03-20 18:47:05
-
2025-03-20 18:44:50
-
2025-03-20 18:44:11
-
2025-03-20 18:43:32