我想编写一个函数(除其他外)接受可变数量的参数,然后将它们传递给 sprintf()。
例如:
<?php
function some_func($var) {
// ...
$s = sprintf($var, ...arguments that were passed...);
// ...
}
some_func("blah %d blah", $number);
?>
我如何在 PHP 中执行此操作?
最佳答案
function some_func() {
$args = func_get_args();
$s = call_user_func_array('sprintf', $args);
}
// or
function some_func() {
$args = func_get_args();
$var = array_shift($args);
$s = vsprintf($var, $args);
}
$args
临时变量是必需的,因为 func_get_args
在 5.3 之前的 PHP 版本中,不能在函数的参数列表中使用。
关于php - 将变量参数列表传递给 sprintf(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1606800/