首頁 >頭條 >關於PHP5和PHP7版本下global變數機制有哪些變化? (程式碼實測)

關於PHP5和PHP7版本下global變數機制有哪些變化? (程式碼實測)

藏色散人
藏色散人原創
2018-08-09 12:14:437092瀏覽

對於php程式設計師來說,隨著php不同版本對於部分函數變數機制的更新改進,往往會讓大家因為在不同版本下使用相同變數而出現不同結果時而產生疑慮。那麼這篇文章主要給大家詳細解釋下,為什麼在PHP5和PHP7版本下,使用同一global變數時會出現不同結果的問題呢?以下給大家舉一個簡單易懂的例子。

例如現有一個exl.php的頁面運算程式碼如下:

關於PHP5和PHP7版本下global變數機制有哪些變化? (程式碼實測)

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

關於PHP5和PHP7版本下global變數機制有哪些變化? (程式碼實測)

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

關於PHP5和PHP7版本下global變數機制有哪些變化? (程式碼實測)

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

那麼透過以上的範例程式碼解釋,希望這篇文章關於php中global變數在不同版本下運算產生不同結果的問題,對大家遇到相關問題時有所幫助,也希望大家透過此篇文章對不同版本下php global用法有所理解。

【相關文章推薦】

為什麼global變數會出現無效或錯誤的現象呢?

global與$GLOBAL['']的一些不同理解

PHP原始碼分析之Global關鍵字

php中global與$GLOBALS


#
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn