我試圖找到解決方案,因爲很多小時,但我無法解決它(我不是一個程序員;))。如何在PHP中調用全局動態變量
在函數上,我設置了一個動態數組,我想在另一個函數中使用。 要做到這一點,我想使用$ GLOBALS []數組 我沒有問題從函數調用變量之一,但是當我嘗試在函數2中使用它時,它不起作用。
這裏是我的代碼:
function one($name,$a,$b,$c)
{
// $GLOBALS[${$name}] = array($a,$b,$c);
global $$name;
$$name = array($a,$b,$c);
}
function two($name)
{
$name="D1";
echo ${$name}[1];
}
one("D1",10,20,30);
one("D2",100,200,300);
two("D1"); // doesn't works
$name="D1";
echo ${$name}[1]; // works, gives 20
$name="D2";
echo ${$name}[1]; // works, gives 200
它不工作,我不明白爲什麼。 感謝您的幫助。
艾蒂安
http://php.net/manual/en/language.variables.scope.php –
[參考:什麼是變量作用域,哪些變量可以從哪裏訪問,什麼是未定義變量錯誤?] (https://stackoverflow.com/questions/16959576/reference-what-is-variable-scope-which-variables-are-accessible-from-where-and) – GrumpyCrouton
使用'global $ name;'可能更容易 – PaulH