strtr(string,from,to)
逐个字符开始替换,以from跟to中长度较较短的一个为准,例如:
// 琼台博客 www.qttc.net
echo strtr("aidenliu", "ai", "b");
// Output: bidenliu
// 琼台博客 www.qttc.net
echo strtr("aidenliu", "a", "bc");
// Output: bidenliu
此函数是大小写敏感的,具如果发生多次替换,每一次替换的蓝本都是最原始的那个字符串,而不是在前一次替换的基础上替换,如
// 琼台博客 www.qttc.net
echo strtr("aidenliu","aA","A@");
// Output: Aidenliu
// 琼台博客 www.qttc.net
$arr = array("1" => "A","2" => "B","3" => "C","B" => "D");
$word = "ZBB2";
echo strtr($word,$arr);
// Output: ZDDB
strtr(string,array)
array 为关联数组,用关联数组中的值替换原始字符串中出现的对应的键,如果发生多次替换,每次替换的对像都是最原始的那个字符串,而不是在一次替换的基础上替换(此点与str_replace不同)
区别:
strtr(string,from,to)
是逐个字符替换,而strtr(string,array)
是字符串替换strtr("aidenliu","ai","")
不发生替换(第二个参数为零长度字符串)strtr("aidenliu",array("ai"=>""))
发生替换