在 PHP3 中,變數有效範圍只限定在其定義的程式中,如果程式包含 function,function 內的變數有效範圍也只限定於 function 內,如果
function 要使用 function 外的變數,必須在變數前面加上global
範例1:不使用global
$a=1; /* global scope */
Function Test()
{
echo $a; /* reference to local scope variable, a 為空值 */
}
Test();
範例2: 使用 global 存取變數,$b 結果為3
$a=1;
$b=2;
Function Sum()
{
global $a,$b;
$b = $a + $b;
}
Sum();
echo $b;
範例3: 使用 $globals 存取變數
$a=1;
$b=2;
Function Sum()
{
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}
Sum();
echo $b;
有時候您需要使用到靜態的變數,例如一個遞迴的程式,在下例中,指定 count 為 一個靜態的變數,它只初始一次,往後再碰到 static $count=0
的語法,不會重新初始變數。
範例
Function Test()
{
static $count=0;
$count++;
echo $count;
if($count < 10)
{
Test();
}
}