這是一個解決方案,用於解決任何地方都無法找到答案的問題。它涉及全局變量範圍和多個功能。PHP多封裝函數全局變量範圍
基本上,我想要一個函數聲明變量,然後有第二個嵌套函數使用這些變量。當腳本聲明變量並在聲明global $var1, $var2;
之後調用使用這些變量的函數時,此工作正常。
但是,我遇到嵌套函數看到父函數聲明的變量的問題,使用與調用函數的腳本相同的代碼邏輯。
解決的辦法是寫:
function function_1(){
global $var1, $var2;
$var1=0;
$var2=0;
function function_2(){
global $var1, $var2;
}
function_2();//call to nested function.
}
所有變量在這種情況下,正確的交互。
如果在聲明function_1中的變量後聲明'global',那麼只需清除變量的值(即聲明沒有值的新變量?)。
希望這可以幫助別人:)
格雷格
可以發佈代碼嗎? – xsari3x
事情是內部函數在全局範圍內結束。在PHP中,您可以使用匿名(內部)函數或類來實現您想要的內容。 –