我需要调用一个位于类中的另一个函数内部的函数。
class Some_class extends CI_Controller {
public function file($action){
function add(){
$content = "Content";
$data = array('html'=>$content);
$this->output->append_output(json_encode($data));
}
call_user_func($action);
}
}
这不会返回任何内容。
我需要调用函数add()
,并且无法正常工作,即使我只是放add()
而不是call_user_func()
。但是这个想法是调用函数file()
中的每个函数。
答案 0 :(得分:1)
您想要传递callback。假设action
是MyClass
的方法。然后你会使用:
$my_class = new MyClass();
call_user_func(array($my_class, 'action'));
答案 1 :(得分:1)
虽然我从未亲自使用过此功能,但我认为它不起作用,因为你没有返回任何东西。
如果函数$ action应该返回一个值,那么写:
return call_user_func($action);
否则(如果它在一个参数中放置一个值),它将需要一个param,它的工作方式如下:
call_user_func($action, $param);
return $param;
也许我误解了你想要做的事情。