在 PHP 中,global 是一個非常有用的關鍵字。它可以使變量在函數內部和外部之間進行交互。如果把變量聲明為 global,則可以在腳本的任何位置都使用該變量。下面就來詳細介紹一下 global 在 PHP 中的作用。
一個常見的例子是在一個函數中使用一個在函數外部聲明的變量。如果沒有使用 global,該變量將不會傳遞到函數內部。
<?php $a = 10; function example() { echo "The value of a is: $a"; } example(); //沒有輸出任何內容 ?>
要讓函數能夠訪問全局變量 $a 的值,需要使用 global 關鍵字,在函數內部聲明 $a 是全局變量。
<?php $a = 10; function example() { global $a; echo "The value of a is: $a"; } example(); //The value of a is: 10 ?>
除了函數內訪問全局變量以外,global 還可以用于在函數間傳遞變量。
<?php $a = 10; function add() { global $a; $a++; } function subtract() { global $a; $a--; } add(); subtract(); echo $a; //10 ?>
在上面的例子中,全局變量 $a 在函數 add() 和 subtract() 中被修改。add() 將 $a 加一,subtract() 將 $a 減一。最后,$a 的值仍然是 10,因為函數間傳遞的是拷貝。
如果想要在函數間傳遞全局變量的引用,需要使用 & 符號。
<?php $a = 10; function add(&$b) { $b++; } add($a); echo $a; //11 ?>
在上面的例子中,$a 在函數 add() 中被傳遞為引用。在函數內部,$b 是 $a 的一個引用。所以,add() 函數將 $b 的值加一,同時也將 $a 的值加一。
global 還可以用于在函數內部創建全局變量。以前,我們要在函數外部聲明變量,然后使用 global 關鍵字在函數內部將其設置為全局變量。
<?php function example() { global $a; $a = 10; } example(); echo $a; //10 ?>
在上面的例子中,函數 example() 內部聲明了變量 $a,并使用 global 將其設置為全局變量。在函數外部輸出 $a 的值為 10。
總結:
如上所述,使用 global 關鍵字,可以使變量在函數內部和外部之間進行交互,不論是在函數內部訪問全局變量,還是在函數間傳遞變量,使用 & 符號傳遞引用,甚至在函數內部創建全局變量都是非常方便的。