當我嘗試調用需要引用作爲參數的函數時,出現問題。當我將任何變量傳遞給它時,函數完全正常工作,但是如果我通過一個變量傳遞一個變量,和:if/else操作符,我得到錯誤Cannot pass parameter 1 by reference
。通過引用使用?:運算符PHP傳遞變量
函數看起來如下:
public function testFunction(&$var) {
//It does nothing.
}
現在我試圖調用函數方式如下:
$yes = 'yes';
$no = 'no';
$this->testFunction(
TRUE ? $yes : $no
);
但是,如果我這樣做$this->testFunction($yes)
它的工作。我在這裏做錯了什麼?我能否使用'?'和':',如果不是,我的替代品是什麼,以確保testFunction
將得到正確的數據的參考?
那是因爲你沒有傳遞變量,但它的價值..這樣的詞表達si評估第一和傳遞的參數是一個字符串不是一個變量 –