我有这个替换数组名为$initialdata
:
array ($initialdata)
'd' => string '1.40' (length=4)
'a' => string '1.67' (length=4)
'vi' => string '0' (length=1)
't' => string '?' (length=1)
然后我有这个字符串:
$str = "-(vi + sqrt(2*a*d + vi^2))/a)";
当我做 :
str_replace(array_keys($initialdata),array_values($initialdata),$str);
我得到:
-(0 + sqr?(2*1.67*1.40 + 0^2))/1.67)
发生的事情是“sqrt”的“t”被我的$initialdata
数组上的“t”值替换。我知道发生这种情况是因为我正在使用str_replace
,并且我需要使用 匹配整个单词preg_replace
,但是我从未见过preg_replace
使用关联数组匹配任何整个单词的任何实现。如果可能的话,如何做到这一点?