可能重复:
PHP function with unlimited number of parameters
How to pass array as multiple parameters to function?
我想在PHP中创建一个带有可变数量参数的函数,有点像sprintf
的加强版本。例如。 sprintf
可能如下所示:
$res = sprintf("The number is %d and the string is %s", $num, $str);
有任意数量的参数,我想做这样的事情:
function my_special_printf($special, $format, ....lots of args...)
{
// do something with $special here
return sprintf($format, .. lots of args...);
}
这可能吗?
答案 0 :(得分:2)
您需要func_get_args
功能:)
答案 1 :(得分:1)
使用func_get_args();
http://php.net/manual/en/function.func-get-args.php
此函数返回数组中的所有参数。
<?php
function my_printf() {
$args = func_get_args();
$string = &args[0];
return call_user_func_array('printf', $args);
}
?>
或:
<?php
function my_printf($string) {
$args = func_get_args();
$args = array_shift($args);
return vsprintf($string, $args);
}
?>