PHP中global與$GLOBALS的區別

藏色散人
發布: 2023-04-07 17:56:01
轉載
2325 人瀏覽過

概念

單一global是關鍵字,通常附加在變數前,用於將變數宣告至全域作用域;

$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中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板