ホームページ > バックエンド開発 > PHPチュートリアル > PHP における global と $GLOBALS の違い

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

藏色散人
リリース: 2023-04-07 17:56:01
転載
2368 人が閲覧しました

概念

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

$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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート