$str = "fsafsaf<{0}>54a<{1}>u7ygda<{2}>kklaoda<{3}>"; $char = array('a1','a2','a3','a4'); $pattern = '/<\{(\d*)\}>/'; $replacement = '$char[\\1]'; $newstr = preg_replace($pattern,$replacement,$str); echo $newstr;
我想把$str 里面的依次替换为 $char数组对应下标的值,可按我上面的代码来做替换之后输出了 fsafsaf$char[0]54a$char[1]u7ygda$char[2]kklaoda$char[3] ,没有取到值,在这个问题上卡主了,跪求指点。。
回复讨论(解决方案)
$pattern = '// e';
$pattern = '// e';
非常感谢,这样写可以了,可以问下加个 e 代表什么意思吗
eval 计算表达式串
eval 计算表达式串
明白了,再次感谢!!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn