Php 切换(或替换)特定字符的值

Php 切换(或替换)特定字符的值,php,string,replace,switch-statement,Php,String,Replace,Switch Statement,我想写一个PHP代码来改变特定字符的值 例如,我有字符串$text $text = "ababcdcd"; 如何切换它们的值?a=b、b=a、c=d和d=c的值。输出应该像 $text = "babadcdc"; 我已经尝试过使用str_replace(),但它只更改一个字符。请帮帮我,谢谢。试试这个: $text = str_replace(array('a','b','c','d'),array('b','a','d','c'), $text); 试着用这个来得到你想要的答案。(如果你

我想写一个PHP代码来改变特定字符的值

例如,我有字符串$text

$text = "ababcdcd";
如何切换它们的值?a=b、b=a、c=d和d=c的值。输出应该像

$text = "babadcdc";
我已经尝试过使用str_replace(),但它只更改一个字符。请帮帮我,谢谢。

试试这个:

$text = str_replace(array('a','b','c','d'),array('b','a','d','c'), $text);

试着用这个来得到你想要的答案。(如果你想替换一个特定的单词,请使用前面给出的代码)


strtr
就是为此而设计的

$text = "ababcdcd";
$tr = array('a' => 'b', 'b' => 'a', 'c' => 'd', 'd' => 'c');
$text = strtr($text, $tr);

echo $text; //Will output babadcdc

您的建议将不起作用,因为它将替换后续迭代中的替换。它最终将输出
aaaacccc
@hcoat:你说得对。用于替换字符串中的世界。请使用本机语法
strtr($text,“abcd”,“badc”)
$text = "ababcdcd";
$tr = array('a' => 'b', 'b' => 'a', 'c' => 'd', 'd' => 'c');
$text = strtr($text, $tr);

echo $text; //Will output babadcdc