blazar 實驗樓
-
全局變量
全局變量通常使用關鍵字
global
來聲明<?php $a = 1; $b = 2; function sum() { global $a, $b; $b = $a + $b; } sum(); echo $b;
結果輸出 3。在函數中聲明瞭全局變量 $a 和 $b 之後,對任一變量的所有引用都會指向其全局版本。對於一個函數能夠聲明的全局變量的最大個數,PHP 沒有限制。
在全局範圍內訪問變量的第二個辦法,是用特殊的 PHP 自定義 $GLOBALS 數組。前面的例子可以寫成:
<?php
$a = 1;
$b = 2;
function sum()
{
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}
sum();
echo $b;
通過傳參實現了函數調用外部變量,接下來使用 global 關鍵字
編輯 /home/shiyanlou/variable.php
<?php
$hi = 'Hi';
$hello = 'Hello';
function sayHi()
{
global $hi;
echo $hi;
}
function sayHello($hello)
{
echo $hello;
}
sayHi();
sayHello($hello);
執行 php variable.php
對前一個值爲名稱的變量。
如:
<?php
$a = 'hello';
$$a = 'world';
var_dump($a,$hello);
結果輸出
string(5) "hello"
string(5) "world"
上例中動態設置了一個變量 $hello,通常多個 $ 會依次從最後邊開始解析,最後生成 $ 前一個值爲名稱的變量。
編輯 /home/shiyanlou/test.php
<?php
$a = 'b';
$b = 'c';
$c = 'd';
$$$$a = 'bcd';
var_dump($d);
執行 php test.php