標籤:這一 test 本地 www style lan func span 它的
執行個體
<?php$x=5; // 全域範圍(全域變數不能在局部範圍中使用)function myTest() { $y=10; // 局部範圍(同樣局部變數不能在全域範圍中使用)
echo "<p>測試函數內部的變數:</p>"; echo "變數 x 是:$x"; echo "<br>"; echo "變數 y 是:$y"; } myTest(); echo "<p>測試函數之外的變數:</p>"; echo "變數 x 是:$x"; echo "<br>"; echo "變數 y 是:$y"; ?>
運行執行個體
在上例中,有兩個變數 $x 和 $y,以及一個函數 myTest()。$x 是全域變數,因為它是在函數之外聲明的,而 $y 是局部變數,因為它是在函數內聲明的。
如果我們在 myTest() 函數內部輸出兩個變數的值,$y 會輸出在本地聲明的值,但是無法輸出 $x 的值,因為它在函數之外建立。
然後,如果在 myTest() 函數之外輸出兩個變數的值,那麼會輸出 $x 的值,但是不會輸出 $y 的值,因為它是局部變數,並且在 myTest() 內部建立。
注釋:您可以在不同的函數中建立名稱相同的局部變數,因為局部變數只能被在其中建立它的函數識別。
PHP global 關鍵詞
global 關鍵詞用於訪問函數內的全域變數。
要做到這一點,請在(函數內部)變數前面使用 global 關鍵詞:
執行個體
<?php$x=5;$y=10;function myTest() { global $x,$y; $y=$x+$y;}myTest();echo $y; // 輸出 15?>
運行執行個體
PHP 同時在名為 $GLOBALS[index] 的數組中儲存了所有的全域變數。下標存有變數名。這個數組在函數內也可以訪問,並能夠用於直接更新全域變數。
上面的例子可以這樣重寫:
執行個體
<?php$x=5;$y=10;function myTest() { $GLOBALS[‘y‘]=$GLOBALS[‘x‘]+$GLOBALS[‘y‘];} myTest();echo $y; // 輸出 15?>
php全域變數與局部變數