在PHP中使用array和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中是如何工作的吗?

Tnx!

如果替换可能需要更改已经更改的字母,则使用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