在 PHP 中使用数组和 preg_replace 替换字母

Replace letters using array and preg_replace in PHP

我有以下代码:

        $qSeq        = "ATTA";
        $suchmuster  = array("/A/","/T/","/G/","/C/","/U/");
        $ersetzungen = array("T","A","C","G","A");
        $qSeq        = preg_replace($suchmuster, $ersetzungen, $qSeq);
        echo $qSeq;

我的目标是,即 ATTA 变成 TAAT,这个逻辑在 Ruby 中运行良好,但 PHP 会产生 AAAA。知道这如何与 PHP 一起使用吗?

谢谢!

如果您的替换可能需要更改您已经更改的字母,请使用 strtr()

$qSeq = 'CATGUT';
$suchmuster  = array("A","T","G","C","U");
$ersetzungen = array("T","A","C","G","A");
$qSeq        = strtr($qSeq, array_combine($suchmuster, $ersetzungen));
echo $qSeq;

给予

GTACAA