我一直在尝试向Codeigniter中的函数发送动态数量的参数,并且已经使用call_user_func_array运行到墙上。
我得到的一个错误“未定义属性:Account :: $ callShowMessage”让我想知道是否可以使用call_user_func_array / CodeIgniter引用另一个文件中的函数。
如果有人能帮助我指出正确的方向,我们将不胜感激。
阵列:
Array ( [0] => Current password is incorrect [1] => New passwords don't match )
控制器摘录:
$this->session->set_flashdata('msg', call_user_func_array($this->generic_model->callShowMessage, $msg));
功能:
public function callShowMessage()
{
$args = func_get_args();
foreach ($args as $key => $value) {
$msg .= "$value<br />";
}
$msg = addslashes($msg);
return "<script type='text/javascript'>$(document).ready(function() { showMessage('$msg') });</script>";
}
答案 0 :(得分:5)
call_user_func_array(array($this->generic_model, 'callShowMessage'), $msg)
要将对象的方法作为回调传递,请将上述数组语法与对象和方法的 name 一起使用。请参阅http://php.net/manual/en/language.pseudo-types.php#language.types.callback。