str_replace和数组不按顺序排列


str_replace and arrays that are not in order

我被这个困住了。

我有一个巨大的模板,如下所示(针对此问题进行了简化):

$str = '[a] [b] [c]';

然后我有一个包含上述值的数组:

$arr = array('[a]','[b]','[c]','[d]');

最后,包含替换值的是一个与上述数组不匹配的数组。

$rep = array("[d]" => "dVal","[a]" => "aVal","[b]" => "bVal", "[c]" => "cVal");

我可以通过某种技术或任何其他 php 函数匹配 $rep 数组以替换 $str 中同名的键。我目前使用str_replace

sr_replace($arr,$rep,$str);//

键名和$str中的名称相同。

str_replace(array_keys($rep), array_values($rep), $str)