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
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.