您好,登錄后才能下訂單哦!
這篇文章主要講解了“PHP全局變量怎么在函數中調用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP全局變量怎么在函數中調用”吧!
在介紹函數內部調用全局變量方法之前,我們來了解一下變量作用域和全局變量。
變量作用域,簡單來說就是變量可以被使用的范圍,必須在其有效范圍內使用,如果超出有效范圍,變量就會失去其意義。
按作用域分,變量可以分為局部變量和全局變量。
局部變量是指聲明在函數內部的變量,只能在函數內使用;而全局變量是指聲明在函數外的變量,其作用域是當前源碼的任何地方,但是在函數內部是不可用的。
<?php $a = 1; $b = 2; $c = 3; function demo(){ echo '$a = '.$a; echo '<br>$b = '.$b; echo '<br>$c = '.$c; } demo(); ?>
分析:在函數demo()中想要輸出全局變量$a、$b、$c,會發現不輸出且報錯:
但有時我們就必須要在函數內使用全局變量,這要怎么辦?
PHP提供了兩種解決方法: global
關鍵字和$GLOBALS
超全局變量。
我們看看下面的一個示例:
<?php $a = 1; $b = 2; $c = 3; function demo(){ global $a,$b,$c; echo '$a = '.$a; echo '<br>$b = '.$b; echo '<br>$c = '.$c; } demo(); ?>
看看輸出結果為:
$a = 1 $b = 2 $c = 3
分析:
global關鍵字的作用是:導入全局變量,利用global 變量1, 變量2, ...
的形式把全局變量1, 變量2...
導入到一個函數的局部范圍內,就可以在函數內部使用在函數外部定義的全局變量了。
再來看一個例子:
<?php $a = 1; $b = 2; $c = 3; function demo(){ echo '$a = '.$GLOBALS['a']; echo '<br>$b = '.$GLOBALS['b']; echo '<br>$c = '.$GLOBALS['c']; } demo(); ?>
輸出結果為:
$a = 1 $b = 2 $c = 3
分析:
$GLOBALS
是一種預定義變量(又叫超全局變量),是包含所有變量的全局組合數組,變量的名稱就是數組的鍵,可以使用$GLOBALS['變量名']
的形式來訪問指定全局變量。只要是出現過的全局變量,就可以通過$GLOBALS
這個數組取得。
global和$GLOBALS的區別
global只能在函數內部使用,不能在函數外部使用;而$GLOBALS 可以在程序的任意位置(函數內外)都能使用。
在函數內部銷毀一個使用 global 關鍵字修飾的變量時,函數外部的變量不受影響;而$GLOBALS是有影響的。
原因:
使用 global 關鍵字修飾的$var變量時,是對函數外部同名變量的引用,內外是兩個互不影響的變量;
而 $GLOBALS['var'] 指的就是函數外部變量本身,是一個變量。
感謝各位的閱讀,以上就是“PHP全局變量怎么在函數中調用”的內容了,經過本文的學習后,相信大家對PHP全局變量怎么在函數中調用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。