全域變數(global variable)
$GLOBALS 陣列是 PHP 程式中比較特殊的變數,不必宣告,系統會自動匹配相關的變數在裡面. 使用上通常有下列兩種方式
注意 global/static 的生命週期非整個網站啟用期間, 而僅是當前頁面的活動期間.
ps:取得目前執行 PHP 程式頁面的檔名,就可以用 $GLOBALS["PHP_SELF"]
// 使用 $GLOBALS 陣列
function myfunc() {
echo $GLOBALS["PHP_SELF"];
}
myfunc();
// 使用全域宣告
function myfunc() {
global $PHP_SELF;
echo $PHP_SELF;
}
myfunc();
靜態變數(static variable)
function myfunc() {
static $mystr;
$mystr.="變";
echo $mystr;
}
myfunc(); // 變
myfunc(); // 變變
myfunc(); // 變變變
變數的變數 (variable variable)
$a = "Hello";
$$a = "world";
echo "$a, $Hello"; // Hello, world
echo "$a, ${$a}"; // 也是 Hello, world
變數的函式 (variable function)
function myCallbackFunction() {
print("Hello from callback");
}
function myFunction($callback) {
$callback();
}
myFunction("myCallbackFunction");
輸出 :Hello from callback