PHP 将逗号分隔的字符串作为多个参数传递给函数
PHP pass coma delimited string as multiple parameters to a function
我想这样调用:
<?php
function returner($par1,$par2){
var_dump($par1);
var_dump($par2);
return false;
}
$func_name = 'returner';
$args = array('arg1','arg2');
$func_name('"'.implode('","',$args).'"');
?>
但问题是,PHP 将其作为单个参数发送给 $func_name()
:
$arg1
是'"arg1","arg2"'
,$arg2
未定义。
如何在不修改 returner()
函数的情况下使其正常工作(以便单独发送参数)?
您使用call_ser_func_array
:http://php.net/manual/en/function.call-user-func-array.php
由于您使用的是 PHP 5.6,因此您可以利用 splat
运算符:
$func_name(...$args);
我想这样调用:
<?php
function returner($par1,$par2){
var_dump($par1);
var_dump($par2);
return false;
}
$func_name = 'returner';
$args = array('arg1','arg2');
$func_name('"'.implode('","',$args).'"');
?>
但问题是,PHP 将其作为单个参数发送给 $func_name()
:
$arg1
是'"arg1","arg2"'
,$arg2
未定义。
如何在不修改 returner()
函数的情况下使其正常工作(以便单独发送参数)?
您使用call_ser_func_array
:http://php.net/manual/en/function.call-user-func-array.php
由于您使用的是 PHP 5.6,因此您可以利用 splat
运算符:
$func_name(...$args);