Heim > Artikel > Backend-Entwicklung > call_user_func_array传参问题
<?phpfunction a() { $p['asdf'] = '123'; $p['dfd'] = 234; $p['hj3'] = 'fdg'; call_user_func_array('b', $p);}function b($p) { $p2 = func_get_args(); var_dump($p2); var_dump($p);}a();?>
对于你的代码
call_user_func_array('b', $p);
实际执行的是
b('123', 123, 'fdg')
即向函数 b 传递了 3 个参数
而 function b($p) 只声明了一个形参 $p
所以在函数中可以直接访问到他 var_dump($p);//123
刚刚看了其他例子,明白了。感谢老徐
function a() {
$p['asdf'] = '123';
$p['dfd'] = 234;
$p['hj3'] = 'fdg';
call_user_func_array('b', array($p));
}
function b($p) {
$p2 = func_get_args();
var_dump($p2);
var_dump($p);
}
a();
?>