變數是儲存資訊的容器:
#1、定義在函數外部的就是全域變量,它的作用域從定義處一直到文件結尾。
2、函數內定義的變數就是局部變量,它的作用域為函數定義範圍內。
3、函數之間存在作用域互不影響。 (建議學習:PHP程式設計從入門到精通)
4、函數內存取全域變數需要global 關鍵字或使用$GLOBALS[index] 陣列
在php中函數是有獨立的作用域,所以局部變數會覆寫全域變量,即使局部變數中沒有全域變數相同的變量,也會被覆寫。如下:
<?php $a=5; $b=3; function t() { echo $a-$b; // 输出 0 } t(); ?>
要想在函數中直接使用全域變數可以透過 global 關鍵字宣告或透過 php 中自訂的 $GLOBALS 陣列取得:
<?php $a=5; $b=3; function t1() { global $a,$b; echo $a-$b; // 输出 2 } t1(); echo PHP_EOL; function t2() { echo $GLOBALS['a']-$GLOBALS['b']; // 输出 2 } t2(); ?>
以上是php什麼是局部變數和全域變數的詳細內容。更多資訊請關注PHP中文網其他相關文章!