ホームページ >バックエンド開発 >PHPの問題 >PHP変数学習におけるグローバル変数とは何ですか?関数での呼び出し方法

PHP変数学習におけるグローバル変数とは何ですか?関数での呼び出し方法

青灯夜游
青灯夜游オリジナル
2021-08-09 15:34:134720ブラウズ

前回の記事「PHPは変数名を動的に設定する方法」では、PHPの可変変数について紹介し、変数名を動的に設定する方法について学びました。今回は関数内でグローバル変数を呼び出す方法を紹介しますので、必要に応じて参照してください。

関数内でグローバル変数を呼び出す方法を紹介する前に、変数スコープとグローバル変数について学びましょう。

変数スコープとは、簡単に言うと変数が使用できる範囲のことで、有効範囲内で使用する必要があり、有効範囲を超えると変数の意味がなくなってしまいます。

スコープに応じて、変数はローカル変数とグローバル変数に分類できます。

ローカル変数は関数内で宣言された変数を指し、関数内でのみ使用できます。グローバル変数は関数の外で宣言された変数を指し、その有効範囲は現在のソース コード内の任意の場所ですが、関数内では利用できません。

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo &#39;$a = &#39;.$a;
	echo &#39;<br>$b = &#39;.$b;
	echo &#39;<br>$c = &#39;.$c;
}
demo();
?>

分析: 関数デモ() でグローバル変数 $a、$b、$c を出力したい場合、出力がなく、エラーが報告されることがわかります:

PHP変数学習におけるグローバル変数とは何ですか?関数での呼び出し方法

しかし、関数内でグローバル変数を使用しなければならない場合があります。どうすればよいでしょうか?

PHP は、global キーワードと $GLOBALS スーパー グローバル変数という 2 つのソリューションを提供します。

次の例を見てみましょう:

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
	global $a,$b,$c;
    echo &#39;$a = &#39;.$a;
    echo &#39;<br>$b = &#39;.$b;
    echo &#39;<br>$c = &#39;.$c;
}
demo();
?>

出力結果を見てください:

$a = 1
$b = 2
$c = 3

分析:

グローバル キーワード はい: グローバル変数をインポートします。グローバル変数 1, 変数 2, ... という形式を使用して、グローバル変数 1, 変数 2... をローカル スコープにインポートします。関数の外部で定義されたグローバル変数を関数内で使用できます。

別の例を見てみましょう:

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo &#39;$a = &#39;.$GLOBALS[&#39;a&#39;];
    echo &#39;<br>$b = &#39;.$GLOBALS[&#39;b&#39;];
    echo &#39;<br>$c = &#39;.$GLOBALS[&#39;c&#39;];
}
demo();
?>

出力結果は次のとおりです:

$a = 1
$b = 2
$c = 3

分析:

$GLOBALS事前定義された変数 (スーパーグローバル変数とも呼ばれます) は、すべての変数を含むグローバル結合配列です。変数の名前は配列のキーです。$GLOBALS['変数名']# という形式を使用できます。 ## は、指定されたグローバル変数にアクセスします。出現したグローバル変数であれば、$GLOBALS 配列を通じて取得できます。

global と $GLOBALS の違い

  • global は関数内でのみ使用でき、関数外では使用できません。一方、$GLOBALS は関数内でのみ使用できます。プログラム内で使用 どこでも(関数内外)使用可能です。

  • global キーワードで変更された変数が関数内で破棄されても、関数の外部の変数は影響を受けません ($GLOBALS は影響を受けます)。

    理由:

    global キーワードを使用して $var 変数を変更する場合、これは関数の外側にある同じ名前の変数への参照であり、内側と外側は 2 つの変数です。相互に影響しません;

    そして、$GLOBALS['var'] は、変数である関数自体の外部変数を参照します。

わかりました。これですべてです。他に知りたいことがあれば、これをクリックしてください。 → →

php ビデオ チュートリアル

最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。

0 から PHP の世界に入り、学びに来てください!

以上がPHP変数学習におけるグローバル変数とは何ですか?関数での呼び出し方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。