当我尝试调用需要引用作为参数的函数时,出现问题。当我将任何变量传递给它时,函数完全正常工作,但是如果我通过一个变量传递一个变量,和: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评估第一和传递的参数是一个字符串不是一个变量 –