$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 里面的<{0}><{1}><{2}><{3}>依次替换为 $char数组对应下标的值,可按我上面的代码来做替换之后输出了 fsafsaf$char[0]54a$char[1]u7ygda$char[2]kklaoda$char[3] ,没有取到值,在这个问题上卡主了,跪求指点。。