php - 将变量参数列表传递给 sprintf()

标签 php parameters arguments printf

我想编写一个函数(除其他外)接受可变数量的参数,然后将它们传递给 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/

相关文章:

php - 使用 ffmpeg 转换音频文件并保留专辑插图

php - 捕获mysql数据库错误并在php中使用

php数据库问题

shell - 将 shell 转义的参数字符串传递给 Bourne shell 中的子命令

C程序不计算文本文件中的字母频率

PHP 自动化部署和测试

c# - 从 C# 环境向 powershell 脚本文件传递参数

Swift 初学者需要详细说明语法 - 传递和返回函数

swift - 在 Swift 中有选择地将类的属性传递给类方法

javascript - 多个参数与选项对象