首頁  >  文章  >  後端開發  >  global的使用與php的全域變數

global的使用與php的全域變數

WBOY
WBOY原創
2016-07-30 13:30:42949瀏覽

php的全域變數和其餘程式語言是不同的,在大多數的程式語言中,全域變數在其下的函數、類別中自動生效,除非被局部變數覆蓋,或者根本就不允許再宣告相同名稱與類型的局部變量,但是php中的全域變數不是預設生效的。 php中全域變數在函數中使用時必須申明為全域,Global這個關鍵字在函數中定義才有用。也就是說Global的作用是定義全域變量,但是這個全域變數不是應用於整個網站,而是應用於目前頁面,包括include或require的所有檔案。

直接用一個例子來說明此問題,如下程式碼:

<?php
$a=5;
function test(){
	echo $a;
}
test();
?>

很簡單,聲明一個全域變數$a=5,然後宣告一個函數test()列印這個全域變量,之後,呼叫這個test(),按照一般的程式語言的思維,此處的輸出必然為5,然而,在實際執行卻是如下的效果:


直接報錯的了,說這個a沒有定義,簡直是無法理喻,但是php就是這樣設置,可是我卻需要用到$a當全域變量,有可能下面還有很多函數、很多類別要用這個$a啊!這是,你需要每次使用全域變數$a之間,用global這個關鍵字宣告一下。

如下程式碼則是正確示範:

<?php
$a=5;
function test(){
	global $a;
	echo $a;
}
test();
?>
運行結果如下,這樣a就可以使用了,每次使用全域變數$a都要這樣宣告一下,這是php的規則。

值得注意的是,以下的程式碼是錯誤的:

<?php
global $a;
$a=5;
function test(){
	echo $a;
}
test();
?>
運作結果也是如此:


版權聲明:本文為博主

版權聲明:本文為部落客。

🎜 🎜 以上就介紹了global的使用與php的全局變量,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。 🎜 🎜 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn