在 call_user_func_array(...) 中传递关联数组
我正在构建一个模板系统,但遇到了动态调用函数的问题。
当我尝试以下操作时:
$args = array(
4,
'test' => 'hello',
'hi'
);
你知道..一些数字元素和一些关联元素,
call_user_func_array($function, $args);
将数组转换为类似这样的内容:
$args = array(
4,
'hello',
'hi'
);
除了传递这样的数组之外,还有其他方法可以解决这个问题吗:
$args = array(
4,
array('test' => 'hello'),
'hi'
);
谢谢! 马特
I'm building a templating system and I'm running in to an issue with calling functions on the fly.
When I try the following:
$args = array(
4,
'test' => 'hello',
'hi'
);
You know.. some numerical elements some associative elements,
call_user_func_array($function, $args);
converts the array to something like this:
$args = array(
4,
'hello',
'hi'
);
Is there any way around this other than passing an array like this:
$args = array(
4,
array('test' => 'hello'),
'hi'
);
Thanks!
Matt
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
数组键无处可去,因为:
相当于:
您可以使用
call_user_func()
< /a> 相反:然后给定一个带有一个参数的函数,您可以获得关联数组:
请注意,
call_user_func()
也可以采用多个参数 - 每个参数都会作为一个参数传递给被调用的函数争论。There's nowhere for the array keys to go because:
is equivalent to this:
You could use
call_user_func()
instead:then given a function with one argument, you can get the associative array:
Note that
call_user_func()
can also take more than one argument - each will be passed to the called function as an argument.