如何用变量数组替换单个字符的多次出现

ATL*_*ris 1 php

This is a ? ?.

我有上面的字符串.我想用这个数组中的变量替换问号:

array('test', 'phrase');

最终结果如下:

This is a test phrase.

我怎样才能在PHP中实现这一目标?

JRL*_*JRL 9

你可以使用vsprintf:

vsprintf("This is a %s %s.", array("test", "phrase")); // "This is a test phrase."
Run Code Online (Sandbox Code Playgroud)

如果你只有?,那么替换?对于%s:

$str = "This is a ? ?.";   
vsprintf(str_replace("?", "%s", $str), array("test", "phrase"));
Run Code Online (Sandbox Code Playgroud)