将同一字符串的多个替换(可能是preg_place)替换为数组

2022-07-01 00:00:00 php preg-replace

我需要用数组中的字符串替换某个字符串(问号)的多个实例。例如,如果我要替换的字符串出现3次,并且我的数组的长度为3,则第一个将被数组中的第一个项替换,第二个将被第二个替换,依此类推。

您可能会注意到,它非常类似于预准备语句在mysqli中的工作方式。

举个例子:

$myArray = array(
    [0] => 'yellow',
    [1] => 'green',
    [2] => 'red'
);

$myString = 'banana is ?, apple is ?, tomato is ?';

$newString = someFunction($myString,$myArray);

echo $newString;

这将返回

banana is yellow, apple is green, tomato is red

有没有人能推荐一种使用PHP5.2实现这一点的方法。


解决方案

为什么不使用

$retString = vsprintf('banana is %s, apple is %s, tomato is %s', $myArray);  
return $retString;

相关文章