我是新來的PHP,我不明白爲什麼在函數「func」中使用內部變量「cons」時,編譯器無法識別變量「cons」代碼:在PHP函數中訪問全局變量
$cons = 1;
function plusCons($num) {
return $num + $cons;
}
是不可能在函數的作用域內使用全局變量?
我是新來的PHP,我不明白爲什麼在函數「func」中使用內部變量「cons」時,編譯器無法識別變量「cons」代碼:在PHP函數中訪問全局變量
$cons = 1;
function plusCons($num) {
return $num + $cons;
}
是不可能在函數的作用域內使用全局變量?
爲了一個PHP函數中訪問全局變量,你需要使用global
關鍵字導入變量:
$cons = 1;
function plusCons($num) {
global $cons;
return $num + $cons;
}
這在很多情況下都不起作用,例如將一個閉包分配給一個類方法中的變量。使用'use(...)'。 – Yoshi
對。幸運的是,這不是OP詢問的。 –
這也將爲您的工作:
$cons = 1;
function plusCons($num ,$cons) {
return $num + $cons;
}
echo plusCons(2 , $cons); // this will output 3
聲明它'全球$ cons;'內部函數。請參閱:http://php.net/manual/en/language.variables.scope.php –
函數plusCons($ num)use($ cons){...' – Yoshi
您可以,但它通常應該避免。你應該只是將參數作爲參數傳遞,然後在函數返回時更新它,或者使用一個類。 – deed02392