如何将可变数量的参数传递给sprintf()函数?

Shu*_*ham 5 php string printf

在我的网页中,如果用户选择表单中的某些选项,比如说

1. A -  Chosen
2. B -  Chosen
3. C -  Not Chosen
Run Code Online (Sandbox Code Playgroud)

然后,我的脚本中的sprintf()函数应接受该数量的参数 -

sprintf("%s %s", valueOf(A), valueOf(B));
Run Code Online (Sandbox Code Playgroud)

如果选择了所有三个,那么

sprintf("%s %s %s", valueOf(A), valueOf(B), valueOf(C));
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Ale*_*s G 8

你想要的可能是vsprintf功能.它将数组作为参数集.所以在你的情况下,你会有这样的事情:

$args = <array_of_chosen_options>;
$fmt = trim(str_repeat("%s ", count($args)));
$result = vsprintf($fmt, $args);
Run Code Online (Sandbox Code Playgroud)