ホームページ  >  記事  >  バックエンド開発  >  PHP における global と $GLOBALS の違い

PHP における global と $GLOBALS の違い

藏色散人
藏色散人転載
2019-10-25 13:37:442331ブラウズ

概念

単一のグローバルはキーワードであり、通常は変数の前に付けられ、変数をグローバル スコープに宣言するために使用されます。

$GLOBALS は前置詞です。 - 定義したスーパーグローバル変数を放り込めば、グローバルの世界にも持ってくることができます。

$GLOBALS は連想配列であり、各変数は要素であり、キー名は変数名に対応し、値は変数の内容に対応します。 $GLOBALS はスーパーグローバル変数であるため、$GLOBALS はグローバル スコープ内に存在します。

推奨: 「PHP ビデオ チュートリアル

詳細: PHP でのグローバル変数の解放に関する注意事項

global $var:を参照 関数外の同じ名前の変数への参照

$GLOBALS['var']: 関数自体の外の変数を参照

$a = 100;
function one(){
    global $a;
    unset($a);
}
one();
echo $a;
// 输出 100
/*******************************/
$a = 100;
function two(){
    unset($GLOBALS['a']);
}
two();
echo $a;
// 输出 Notice: Undefined variable: a

global $var; $var と同等= &$GLOBALS['var'] ;

関数内でグローバル変数を解放するには、次のようにする必要があります:

unset($GLOBALS['var']);

ですが、次のようにはなりません:

global $var; unset($var);
<?php
$var = &#39;abc&#39;;
$tmp = &$var;
unset($tmp); //当你unset一个引用,只是断开了变量名和变量内容之间的绑定,这并不意味着变量内容被销毁了.
echo $var; //输出abc

以上がPHP における global と $GLOBALS の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。