前回の記事「PHPは変数名を動的に設定する方法」では、PHPの可変変数について紹介し、変数名を動的に設定する方法について学びました。今回は関数内でグローバル変数を呼び出す方法を紹介しますので、必要に応じて参照してください。
関数内でグローバル変数を呼び出す方法を紹介する前に、変数スコープとグローバル変数について学びましょう。
変数スコープとは、簡単に言うと変数が使用できる範囲のことで、有効範囲内で使用する必要があり、有効範囲を超えると変数の意味がなくなってしまいます。
スコープに応じて、変数はローカル変数とグローバル変数に分類できます。
ローカル変数は関数内で宣言された変数を指し、関数内でのみ使用できます。グローバル変数は関数の外で宣言された変数を指し、その有効範囲は現在のソース コード内の任意の場所ですが、関数内では利用できません。
<?php $a = 1; $b = 2; $c = 3; function demo(){ echo '$a = '.$a; echo '<br>$b = '.$b; echo '<br>$c = '.$c; } demo(); ?>
分析: 関数デモ() でグローバル変数 $a、$b、$c を出力したい場合、出力がなく、エラーが報告されることがわかります:
しかし、関数内でグローバル変数を使用しなければならない場合があります。どうすればよいでしょうか?
PHP は、global
キーワードと $GLOBALS
スーパー グローバル変数という 2 つのソリューションを提供します。
次の例を見てみましょう:
<?php $a = 1; $b = 2; $c = 3; function demo(){ global $a,$b,$c; echo '$a = '.$a; echo '<br>$b = '.$b; echo '<br>$c = '.$c; } demo(); ?>
出力結果を見てください:
$a = 1 $b = 2 $c = 3
分析:
グローバル キーワード はい: グローバル変数をインポートします。グローバル変数 1, 変数 2, ...
という形式を使用して、グローバル変数 1, 変数 2...
をローカル スコープにインポートします。関数の外部で定義されたグローバル変数を関数内で使用できます。
別の例を見てみましょう:
<?php $a = 1; $b = 2; $c = 3; function demo(){ echo '$a = '.$GLOBALS['a']; echo '<br>$b = '.$GLOBALS['b']; echo '<br>$c = '.$GLOBALS['c']; } demo(); ?>
出力結果は次のとおりです:
$a = 1 $b = 2 $c = 3
分析:
$GLOBALS
事前定義された変数 (スーパーグローバル変数とも呼ばれます) は、すべての変数を含むグローバル結合配列です。変数の名前は配列のキーです。$GLOBALS['変数名']# という形式を使用できます。 ## は、指定されたグローバル変数にアクセスします。出現したグローバル変数であれば、
$GLOBALS 配列を通じて取得できます。
global と $GLOBALS の違い
以上がPHP変数学習におけるグローバル変数とは何ですか?関数での呼び出し方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。