ホームページ > php教程 > php手册 > PHP のグローバル変数 global と $GLOBALS[] の違いの分析

PHP のグローバル変数 global と $GLOBALS[] の違いの分析

WBOY
リリース: 2016-06-13 11:58:57
オリジナル
966 人が閲覧しました

< ?php $var1 = 1; 関数 test(){
unset($GLOBALS['var1']);
test(); var1;

?> $var1 は削除されたため、何も出力されません。 例 2:



コードをコピー

コードは次のとおりです:


$var1 = 1;
関数 test(){

unset($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 の。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート