国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP中全局變量global和$GLOBALS[]的區別

2024-05-04 21:56:31
字體:
來源:轉載
供稿:網友

PHP的全局變量和C語言有一點點不同。在C語言中,全局變量在函數中主動生效,除非被局部變量籠罩。這可能引起一些問題,有些人可能漫不經心的轉變一個全局變量。PHP中全局變量在函數中應用時必須用global申明為全局。

一、舉例比較

例一:代碼如下

  1. <?php    
  2.  $var1 = 1;    
  3.  function test(){    
  4.      unset($GLOBALS['var1']);    
  5.  }    
  6.  test();    
  7.  echo $var1;    
  8.  ?> 

因為$var1被刪除了,所以什么東西都沒有打印。

例二:代碼如下

  1. <?php    
  2.  $var1 = 1;    
  3.  function test(){    
  4.      global  $var1;    
  5.      unset($var1);    
  6.  }    
  7.  test();    
  8.  echo $var1;    
  9.  ?> 

意外的打印了1,證明刪除的只是別名引用,其本身的值沒有受到任何的改變。

二、解釋:global $var其實就是&$GLOBALS['var'],調用外部變量的一個別名而已,上面代碼中的$var1和$GLOBALS['var1']是指的同一變量,而不是兩個不同的變量。

PHP的全局變量和C語言有一點點不同。在C語言中,全局變量在函數中主動生效,除非被局部變量籠罩。這可能引起一些問題,有些人可能漫不經心的轉變一個全局變量。PHP中全局變量在函數中應用時必須用global申明為全局。

PHP的Global變量的作用是定義全局變量,但是這個全局變量不是應用于整個網站,而是應用于當前頁面,包括include或require的所有文件。

三、結論

1.$GLOBALS['var']是外部的全局變量本身

2.global $var是外部$var的同名引用或者指針。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉阴县| 班玛县| 新津县| 瑞丽市| 奉贤区| 措美县| 信宜市| 青浦区| 南充市| 措美县| 土默特左旗| 册亨县| 永城市| 汝州市| 略阳县| 安义县| 基隆市| 宜兰县| 集安市| 荔浦县| 静乐县| 五寨县| 商河县| 聂拉木县| 楚雄市| 图木舒克市| 离岛区| 济源市| 厦门市| 永泰县| 玉树县| 隆回县| 远安县| 互助| 江北区| 岚皋县| 伊宁县| 凤庆县| 同仁县| 曲阳县| 宽甸|