ホームページ >バックエンド開発 >PHPチュートリアル >PHP におけるグローバル変数 global と $GLOBALS の違いについて - WORSHIP Yasa
1.global
Global の役割はグローバル変数を定義することですが、このグローバル変数は Web サイト全体ではなく、include または require 内のすべてのファイルを含む現在のページに適用されます。
ただし、関数本体内で定義されたグローバル変数は関数本体内で使用できますが、関数本体の外で定義されたグローバル変数は関数本体内で使用できません。詳しくは以下の例を参照してください。
(1) 関数本体内で使用できるグローバル変数を関数本体内で定義します。
<?PHP $a=123; function aa() { Global $a; //把$a定义为global变量。 echo $a; //调用函数体外的变量} aa(); //输出结果为123,说明函数体内可以使用函数体外的变量;?>
(2) グローバル変数は関数本体の外で定義し、関数本体内では使用できません。
<?PHP $a=123; Global $a; //在函数体外把$a定义为global变量。 function aa() { echo $a; } aa();//会报错,不能输出变量a。?>
2.$GLOBALS
$GLOBALS 配列では、各変数は要素であり、キー名は変数名に対応し、値は変数の内容に対応します。 $GLOBALS はスーパーグローバル変数であるため、$GLOBALS はグローバル スコープ内に存在します。 $GLOBALS の記述方法に注意してください。たとえば、変数 $a1 は $GLOBALS['a1'] と記述されます。
例: 最初にグローバル定義を使用します
<?PHP $a1 = 1; $a2 = 2; function Sum() { global a1, a2;a2 = a1 + a2; //定义变a1和a2;} Sum(); echo a2; //输出结果为3?>
$GLOBALS を使用してグローバル変数を定義します
<?PHP $a1 = 1; $a2 = 2;function Sum() { $GLOBALS['a1'] = $GLOBALS['a1'] + $GLOBALS['a2']; //定义变量时每个都要定义} Sum(); echo a2; //输出结果为2?>
例: global
function test() { global $a;//定义全局变量a unset($a); //删除变量a //print $a;//会报错,因为unset已经把$a删除了。 } $a = 2; //定义一个变量atest(); //调用test()方法print $a; //输出a,输出的其实是$a = 2,所以结果为2.
例: $GLOBALS
以上がPHP におけるグローバル変数 global と $GLOBALS の違いについて - WORSHIP Yasaの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。