Kri*_*ann 13 php arrays function
我想在函数调用中使用数组中的值作为独立参数.例:
// Values "a" and "b"
$arr = array("alpha", "beta");
// ... are to be inserted as $a and $b.
my_func($a, $b)
function my_func($a,$b=NULL) { echo "{$a} - {$b}"; }
Run Code Online (Sandbox Code Playgroud)
数组中的值的数量是未知的.
可能的解决方案:
我可以将数组作为单个参数传递 - 但更喜欢传递多个独立的函数参数.
implode()将数组转换为逗号分隔的字符串.(失败,因为它只是一个字符串.)
使用单个参数:
$str = "'a','b'";
function goat($str); // $str needs to be parsed as two independent values/variables.
Run Code Online (Sandbox Code Playgroud)用eval()吗?
遍历阵列?
建议表示赞赏.谢谢.
Val*_*lev 25
如果我理解正确的话:
$arr = array("alpha", "beta");
call_user_func_array('my_func', $arr);
Run Code Online (Sandbox Code Playgroud)
Jay*_*ine 23
这个问题相当陈旧,但在PHP 5.6+中最终有更直接的支持:
http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list.new
$arr = array("alpha", "beta");
my_func(...$arr);
Run Code Online (Sandbox Code Playgroud)