亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

關于PHP5和PHP7版本下global變量機制有哪些變化(global無效錯誤)?(代碼實測)

2020-03-22 18:23:15
字體:
來源:轉載
供稿:網友
首頁 > html' target='_blank'>php教程 > php教程 > 正文 關于PHP5和PHP7版本下global變量機制有哪些變化(global無效錯誤)?(代碼實測) 2019-02-01 17:32:33 1076 第六期線上培訓班
對于php程序員來說,隨著php不同版本對于部分函數變量機制的更新改進,往往會讓大家因在不同版本下使用同一變量而出現不同結果時而產生疑惑。那么本篇文章主要給大家詳細解釋下,為什么在PHP5和PHP7版本下,使用同一global變量時會出現不同結果的問題?下面給大家舉一個簡單易懂的例子。

比如現有一個exl.php的頁面運算代碼如下:

我們在本地php5版本環境下運行出來的結果是5,如下截圖:

那么我們在php7版本環境下運行的結果是3,如下截圖:

那么之所以會出現不同運算結果,其實是因為在最新的php7版本中,PHPglobal變量處理機制進行了修改,此版本下global關鍵字現在只能引用簡單變量。所以當我們在本地php5版本環境下運算時,輸出的$y的值就是$x+$y=5,此時的global就相當于全局變量使用。而在php7環境下,輸出的$y的值卻是$y=3,此時global變量只能直接引用簡單變量$y。

那么通過以上的示例代碼解釋,希望本篇文章關于php中global變量在不同版本下運算產生不同結果的問題,對大家遇到相關問題時有所幫助,也希望大家通過此篇文章對不同版本下php global用法有所理解。

簡單介紹下,什么是php全局變量global?首先phpglobal作用域不是應用于整個網站,而是應用于當前頁面,包括include或require的所有文件。但是在函數體內定義的global變量,函數體內可以使用,在函數體外定義的global變量不能在函數體內使用。

這里也順帶提下php $GLOBALS變量 即引用全局作用域中可用的全部變量, 在 $GLOBALS 數組中,每一個變量為一個元素,鍵名對應變量名,值對應變量的內容。$GLOBALS 之所以在全局范圍內存在,是因為 $GLOBALS 是一個超全局變量。注意$GLOBALS 的寫法,比如變量$a1,寫法為$GLOBALS[‘a1’]。

那么下面用個淺而易懂得例子給大家詳細解釋下global在php中出現無效的問題:

首先demo1.php頁面代碼如下:

 ?php $site_name = CodePlayer  function sayHi(){ global $site_name; echo Hello! Welcome to $site_name !  ? 

demo2.php頁面代碼如下:

 ?php function include_view_page(){ include demo2.php  sayHi();  include_view_page(); ? 

當我們訪問demo1.php頁面,能夠正確顯示出歡迎語句。然而當我們使用瀏覽器訪問demo2.php頁面輸出結果卻如下:

Hello! Welcome to !

我們在函數include_view_page()中調用sayHi()函數時,demo2.php頁面sayHi()函數中global的$site_name卻沒有被正確識別、生效。

其實當我們在函數include_view_page()中include demo2.php頁面時,demo2.php頁面的變量$site_name就相當于存放在include_view_page()函數內的作用域中。大家都知道在函數內global一個變量實際上是在函數內建立一個對頁面全局變量的引用。而在這個例子中,$site_name變量對于demo1.php而言,它僅僅是include_view_page()函數內的局部變量,因此無法顯示global變量,我們進行相關調用時是無法獲取到正確的變量和變量值。

在php中,我們尤其需要注意類似上述在函數內include某個頁面,導致該頁面中變量的作用域發生改變的問題。為了避免這種情況,我們應該盡量減少多層次的include調用,也盡量不要在函數內使用include。此外,我們還可以在demo2.php的頁面中將$site_name進行全局變量形式的聲明。

//demo2.php ?php global $site_name; $site_name = CodePlayer  function sayHi(){ global $site_name; echo Hello! Welcome to $site_name !  ? 

函數中如何引用全局變量示例如下:

輸出的結果如下:

var2 is set to ‘xxxxxx’
var2 is set to ‘eeee’

可見,上面的代碼中:
$var2 = $var1; //1 只對函數內部可見。 而 $GLOBALS[“var2”] = $var1; //2 在全局范圍內可見。

希望本篇文章介紹關于php global出現無效的問題對大家有所幫助!

以上就是關于PHP5和PHP7版本下global變量機制有哪些變化(global無效錯誤)?(代碼實測)的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品偷伦一区二区| 一二美女精品欧洲| 91在线视频免费| 精品国产乱码久久久久久婷婷| 日韩欧美国产一区二区| 欧美日本精品在线| 中文字幕九色91在线| 欧美做受高潮1| 日韩va亚洲va欧洲va国产| 91九色国产视频| 亚洲高清久久网| 国产裸体写真av一区二区| 精品国产一区二区三区久久久| 成人免费网站在线观看| 欧美一区二区三区四区在线| 国产99久久精品一区二区 夜夜躁日日躁| 日韩成人激情在线| 成人免费看黄网站| 国产视频久久久| 亚洲第一综合天堂另类专| 国产视频亚洲视频| 97碰碰碰免费色视频| 美女视频黄免费的亚洲男人天堂| 97色在线播放视频| 中文字幕亚洲二区| 国内自拍欧美激情| 日韩av电影中文字幕| 亚洲第一免费网站| 欧美最猛性xxxxx亚洲精品| 国产精品亚洲综合天堂夜夜| 欧美国产日韩一区| 91超碰caoporn97人人| 精品国产依人香蕉在线精品| 国产精品九九九| 亚洲国产日韩一区| 亚洲欧美成人网| 亚洲综合中文字幕在线观看| 亚洲在线免费观看| 日韩在线观看免费高清完整版| 亚洲美女免费精品视频在线观看| 欧美大尺度在线观看| 91精品一区二区| 91精品国产色综合久久不卡98口| 亚洲欧美日韩一区二区三区在线| 精品久久久久久久久久久久久久| 性视频1819p久久| 成人女保姆的销魂服务| 国产欧美日韩丝袜精品一区| 欧美又大粗又爽又黄大片视频| 欧美日韩国产中文精品字幕自在自线| 亚洲高清色综合| 久久成人精品视频| 欧美日韩免费区域视频在线观看| 亚洲一二三在线| 久久伊人色综合| 国产精品美乳在线观看| 欧美肥老妇视频| 亚洲国产欧美日韩精品| 97精品国产aⅴ7777| 日韩一区二区欧美| 国产精品jizz在线观看麻豆| 欧美激情奇米色| 亚洲一区二区免费在线| 91精品视频专区| 欧美日韩国产一区在线| 久久久久在线观看| 91九色国产视频| 大荫蒂欧美视频另类xxxx| 久久久爽爽爽美女图片| 亚洲精品永久免费精品| 96sao精品视频在线观看| 久久精品在线视频| 激情亚洲一区二区三区四区| 精品久久久国产| 欧美在线影院在线视频| 国产91av在线| 色婷婷**av毛片一区| 91午夜理伦私人影院| xxxxxxxxx欧美| 国产精品视频1区| 亚洲国产精久久久久久| 久久国产精品亚洲| 国产精品老女人精品视频| 欧美日韩国产一区二区三区| 欧美一区二区三区艳史| 亚洲午夜色婷婷在线| 91高清免费在线观看| 欧美日韩中文字幕日韩欧美| 亚洲女人天堂色在线7777| 88国产精品欧美一区二区三区| 成人精品视频久久久久| 国产日韩欧美视频| 亚洲人成在线免费观看| 精品久久久久久中文字幕| 亚洲欧美日韩成人| 日本国产高清不卡| 美女精品视频一区| 日韩最新在线视频| 久久人人爽人人爽人人片av高清| www.日韩免费| 日韩精品极品视频免费观看| 国产视频精品久久久| 97视频网站入口| 97香蕉超级碰碰久久免费的优势| 国产精品69久久| 亚洲精品www久久久久久广东| 91牛牛免费视频| 日本精品视频在线播放| 欧美一区二区色| 亚洲一区二区少妇| 日本久久中文字幕| 亚洲精品日韩丝袜精品| 欧美老肥婆性猛交视频| 国产亚洲欧美日韩一区二区| 日韩在线观看视频免费| 九九热最新视频//这里只有精品| 亚洲网在线观看| 欧美日韩高清在线观看| 亚洲最大的成人网| 国产日韩在线看片| 久久中文字幕在线视频| 亚洲xxxx18| 国产精品444| 热久久美女精品天天吊色| 亚洲欧美国内爽妇网| 这里只有精品视频在线| 国产一区二区丝袜| 久久久久亚洲精品| 国产精品一区电影| 久久国产精品偷| 精品久久久国产精品999| 日韩网站在线观看| 亚洲天天在线日亚洲洲精| 午夜精品一区二区三区在线视| 成人性生交大片免费看小说| 2018国产精品视频| 欧美激情xxxx性bbbb| 日韩视频―中文字幕| 精品亚洲一区二区三区四区五区| 国产成人91久久精品| 久久久影视精品| 北条麻妃在线一区二区| 国产福利成人在线| 91精品国产91久久久久久不卡| 日韩精品极品在线观看| 欧美人在线观看| 亚洲精品在线看| 懂色av一区二区三区| 国产一区二区三区在线观看网站| 亚洲成人精品视频在线观看| 久久免费国产精品1| 国产亚洲一级高清| 日本韩国欧美精品大片卡二| 有码中文亚洲精品| 国产区精品在线观看| 久久久久久91| 亚洲第一精品夜夜躁人人爽| 久久久久久久久电影| 欧美视频在线观看 亚洲欧| 国产欧美精品一区二区三区介绍| 成人网欧美在线视频| 91伊人影院在线播放| 亚洲精品久久久久中文字幕二区| 日韩中文字幕在线|