在codeigniter中,将变量传递给回调函数的正确方法是什么? 我用过这个,
$var1 = 'some conditions';
$this->form_validation->set_rules("callback__is_value_unique[value, $var1]");
public function _is_value_unique($value, $var1){
echo $var1;
die;
}
这给了我如下所示的输出: -
值,某些条件
而不是
某些条件
答案 0 :(得分:1)
你必须只设定你的价值!
$var1 = 'some conditions';
$this->form_validation->set_rules("callback__is_value_unique[value, $var1]");
public function _is_value_unique($value, $var1){
echo $var1;
die;
}
答案 1 :(得分:1)
来自文档..
如果您需要在回调函数中接收额外参数, 只需在方括号之间的函数名后添加它, 如:" callback_foo [bar]",然后它将作为第二个传递 你的回调函数的参数。
听起来你只能传递一个额外的参数。哪个应该是一个字符串。如果你想传递更多的参数,你可以将它们存储在其他地方,只需传递一个参数,该参数存储附加参数的位置。
$index = count($this->arguments);
$this->arguments[$index] = array('value', 'some conditions'/*, ...*/);
$this->form_validation->set_rules("callback__is_value_unique[$index]");
public function _is_value_unique($value, $index){
$args = $this->argumts[$index];
echo $args[1];
die;
}