格式:strtr(string,from,to) 或者 strtr(string,array)
如果使用strtr(string,from,to)
格式, 则替换的模式是逐字替换,如果from和to的长度不相等,则以短的为准。
$str = 'ABCD';
echo strtr($str,'AB','12'); // 输出12CD
echo strtr($str, 'AB','1'); // 输出 1BCD, 这边from和to的长度不相等,只替换了A剩下的原样输出
echo strtr($str,'AB',''); // 输出ABCD, 这边from和to的长度不相等,所以原样输出
echo strtr($str,'AB','1 '); // 输出1 CD, 注意空格也占一个字符, 所以这里的B被替换为空格
echo strtr($str,'ABA','123'); //输出32CD, 注意是逐字替换, A先被替换为1后面又被替换为3
如果使用strtr(string,array)
格式,那么效果和str_replace
一样,在字符串中搜索对应的下标,替换为对应的值。
$str= 'ABCD';
echo strtr($str, array('A'=>'1','BCD'=>'2')); // 将A替换为1, 将BCD替换为2,输出 12
strtr是区分大小写的, 且执行效率比str_place要快很多。