ホームページ >バックエンド開発 >PHPチュートリアル >PHP基本メモ関数グローバル変数_PHPチュートリアル
global は PHP のグローバル変数です。このグローバルは、関数の外にある変数の場合、関数内で直接グローバル宣言を使用して変数の値を取得できます。
例
コードは次のとおりです | コードをコピー |
$a=12;
echo '$a='.$a//結果を出力 ?> 出力結果: $a=24 |
概要: 関数本体内で定義されたグローバル変数は関数本体外で使用できますが、関数本体外で定義されたグローバル変数は関数本体内で使用できません
コードは次のとおりです | コードをコピー |
$glpbal $a; 関数 f() //次の例を見てください 関数 f() f(); |
上記の例はグローバル変数の基本的な知識にすぎません。より複雑な変数を見てみましょう。
コードをコピー | |
//A.php ファイル 関数 Test_Global() { 「B.php」を含めます; テスト(); } $a = 0 ;
Test_Global(); 関数 Test() { global $a;//関数本体で使用する $a 変数を宣言 Sum をグローバルグローバル変数として宣言します $a =1; } ?> |
ユーザー定義関数では、ローカル関数スコープが導入されます。関数内で使用される変数は、デフォルトでローカル関数スコープに制限されます (include および require によってインポートされたファイル内の変数を含む)!
説明: A.php ファイルの Test_Global は定義されたサードパーティ関数です。この関数は include を使用して B.php ファイルの $a のグローバル グローバル変数をインポートするため、$a は Test_Global ローカル関数のスコープに制限されます。 B .php ファイル内の $a のスコープは、A.php 全体に影響を与えるのではなく、Test_Global 内にあります...
解決策:
1. ローカル機能からの離脱
コードをコピー | |
//A.php ファイル 関数 Test_Global() { テスト(); } include 'B.php' // ローカルの Test_Global 関数からインクルードを移動します $a = 0 ; Test_Global(); エコー $a; ?> //B.php ファイル 関数 Test() { グローバル $a; $a =1; } ?> |