ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルのグローバル変数 global と $GLOBALS[] の違い

PHP_PHP チュートリアルのグローバル変数 global と $GLOBALS[] の違い

WBOY
WBOYオリジナル
2016-07-13 10:55:55895ブラウズ

PHP のグローバル変数は C 言語とは少し異なります。 C 言語では、ローカル変数でカバーされていない限り、グローバル変数は関数内で自動的に有効になります。これにより、誰かが不用意にグローバル変数を変更してしまう可能性があるため、問題が発生する可能性があります。 PHP のグローバル変数を関数で使用する場合は、global を使用してグローバルとして宣言する必要があります。

1. 例との比較
例 1:

$var1 が削除されたため、何も出力されません。 例 2:
コードは次のとおりです コードをコピー
$var1 = 1; 関数テスト(){
unset($GLOBALS['var1']); }
テスト(); $var1 をエコーし​​ます。 ?>





コードは次のとおりです

コードをコピー グローバル $var1; unset($var1); } テスト(); $var1 をエコーし​​ます。 ?> PHP のグローバル変数は C 言語のグローバル変数とは少し異なります。 C 言語では、ローカル変数でカバーされていない限り、グローバル変数は関数内で自動的に有効になります。これにより、誰かが不用意にグローバル変数を変更してしまう可能性があるため、問題が発生する可能性があります。 PHP のグローバル変数を関数で使用する場合は、global を使用してグローバルとして宣言する必要があります。 PHP のグローバル変数の機能はグローバル変数を定義することですが、このグローバル変数は Web サイト全体ではなく、現在のページ (include または require 内のすべてのファイルを含む) に適用されます。
$var1 = 1; 関数テスト(){




誤って1を印刷してしまいました。これは、エイリアス参照のみが削除され、その値がまったく変更されていないことを証明します。

2. 説明
Global $var は実際には &$GLOBALS['var'] であり、これは外部変数を呼び出すための単なるエイリアスです。
上記のコードの $var1 と $GLOBALS['var1'] は、2 つの異なる変数ではなく、同じ変数を参照します。

3.結論
1.$GLOBALS['var'] は外部グローバル変数そのものです

2.global $var は、外部 $var と同じ名前の参照またはポインタです。






http://www.bkjia.com/PHPjc/632199.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632199.html

技術記事 PHP のグローバル変数は C 言語とは少し異なります。 C 言語では、ローカル変数でカバーされていない限り、グローバル変数は関数内で自動的に有効になります。これにより、いくつかの問題が発生し、混乱する人もいるかもしれません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。