萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP 全局變量之Global關鍵字引用解讀

PHP 全局變量之Global關鍵字引用解讀

本文章來給大家簡單的介紹一下關於PHP 全局變量 Global關鍵字引用介紹,雖說評論跟文章相比,及其的簡短,但原理卻闡述的很明白,而且淺顯易懂,尤其是對於有一些語言基礎的人來說,是值得總結的。不賣關子,開始正題:

引用PHP手冊的$GLOBALS的解釋:

Global 變量:$GLOBALS
注意: $GLOBALS 在 PHP 3.0.0 及以後版本中適用。

由所有已定義全局變量組成的數組。變量名就是該數組的索引。

這是一個“superglobal”,或者可以描述為自動全局變量。
也就是說上面代碼中的$var1和$GLOBALS['var1']是指的同一變量,而不是2個不同的變量!

全局變量舉例

 代碼如下 復制代碼

<?php
 $pangbu = "pangbu";
 
 function demo (){
 
  global $pangbu;
 
  echo $pangbu;
 }
 
 demo();
?>

解釋

其實global $pangbu ;是$pangbu = &$_GLOBAL['pangbu ']的簡寫,

意思是$pangbu 是$_GLOBAL['pangbu ']的一個引用,至於引用怎麼用,$pangbu 就怎麼用了。
自己的一些筆記
之前一直沒有搞明白 global 的用法 ,雖然會用但卻一直在朦朦胧胧中糊裡糊塗的,現在終於搞明白了。
.

為了了解更多Global的應用,請看下面php案例:

 代碼如下 復制代碼 <?php
    $url = "www.111cn.net";
    function get_url(){
     echo "The blog is".$url; //這裡獲取不到$url,因為它只是一個未定義的局部變量
    }
    get_url();
?>

 
上面的例子會報notice錯誤!

 代碼如下 復制代碼 <?php
 $url = "www.111cn.net";
 function get_url(){
  global $url;
  echo "The blog url is ".$url;
 }
 get_url();
?>

 
上面這樣用法就是對的,在函數中聲明全局變量後,任何變量的所有引用變量都會指向到全局變量!

另外有必要說一下,全局數組$GLOBALS[],用上面的例子改寫下就是這樣:

 代碼如下 復制代碼 <?php
 $url = "www.111cn.net";
 function get_url(){
  echo "The blog url is ".$GLOBALS['url'];
 }
 get_url();
?>
 

注意global聲明變量不能復制,如 global $url = "www.111cn.net";  這樣是錯誤的

copyright © 萬盛學電腦網 all rights reserved