php sprintf with array

2022-08-30 12:51:20

我有一个数组女巫匹配字符串占位符,如下所示:

"some text %s another text %s extra text %s"

和数组:

$array[0] match the first %s 
$array[1] match the second %s 
$array[2] match the third %s 

我认为可以使用sprintf函数完成,如下所示:

$content = sprintf("some text %s another text %s extra text %s", $array);

但是这个返回的参数太少错误,我试图使用内爆:

$content = sprintf("some text %s another text %s extra text %s", implode(",",$array));

提前致谢


答案 1

使用 vsprintf 而不是 .它采用一个数组参数,从中设置字符串的格式。sprintf

$content = vsprintf("some text %s another text %s extra text %s", $array);

答案 2

PHP 5.6+ 的替代方案vsprintf

sprintf("some text %s another text %s extra text %s", ...$array);