php全局變量與局部變量


實例

<?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
?>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM