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

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

WBOY
WBOYオリジナル
2016-07-21 15:17:11804ブラウズ

1. 比較例
例 1:

コードをコピーします コードは次のとおりです:

$var1 = 1;
unset($GLOBALS[' var1'] );
}
test();
echo $var1;>


$var1 が削除されたため、何も出力されませんでした。
例 2:


コードをコピーします コードは次のとおりです:
$var1 = 1;
function test(){
unset($var1);
}
test ();
echo $var1;>


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

2. 説明

global $var は実際には &$GLOBALS['var'] であり、これは外部変数を呼び出すための単なるエイリアスです。上記のコードの
$var1 と $GLOBALS['var1'] は、2 つの異なる変数ではなく、同じ変数を参照します。 PHP のグローバル変数は C 言語とは少し異なります。 C 言語では、ローカル変数でカバーされていない限り、グローバル変数は関数内で自動的に有効になります。これにより、誰かが不用意にグローバル変数を変更してしまう可能性があるため、問題が発生する可能性があります。 PHP のグローバル変数を関数で使用する場合は、global を使用してグローバルとして宣言する必要があります。
PHP のグローバル変数はグローバル変数の定義に使用されますが、このグローバル変数は Web サイト全体ではなく、現在のページ (include または require 内のすべてのファイルを含む) に適用されます。


3. 結論

1.$GLOBALS['var'] は外部グローバル変数そのものです
2.global $var は外部 $var の同じ名前の参照またはポインタです。

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

www.bkjia.com

http://www.bkjia.com/PHPjc/325770.html技術記事 1. 比較例 1: 以下のコードをコピーします。 ?php $var1 = 1; function test(){ unset($GLOBALS['var1']); echo $var1;はい、それで…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。