一、首先我们大略理解下strtr()函数的定义及语法。
strtr:转换指定字符。
第一种语法:
string strtr( string $str, string $from, string $to)
第一个参数表示待转换的字符串。
第二个参数表示字符串中与将要被转换的目的字符 to 相对应的源字符。
第三个参数表示字符串中与将要被转换的字符 from 相对应的目的字符。
<?php$str = 34;PHP拥抱每一种H生活!
";echo $str;echo strtr($str, 'P', 'A') . '';echo "</br>";echo strtr($str, 'PP', 'B') . '';echo "</br>";echo strtr($str, 'P', ' ') . '';echo "</br>";echo strtr($str, 'PH', '12') . '';echo "</br>";?>结果:PHP拥抱每一种H生活!
AHA拥抱每一种H生活!
BHB拥抱每一种H生活!
H 拥抱每一种H生活!
121拥抱每一种2生活!
大家可以结合代码和返回值来理解strtr函数这种语法更换字符串的规则。
这里有的朋友可能对第二行“PP”更换“B”的结果有些迷惑,这是由于如果要转换两个相同的目的字符,那么因此末了一个字符的值为标准。
由于这里末了一个“P”对应的是“B”,以是更换结果就从“PHP拥抱每一种H生活!
”转换为“BHB拥抱每一种H生活!
”。
第三行显示则是更换空格符的结果,也是非常随意马虎理解的。别的情形更换对应的字符即可。
第二种语法:
string strtr( string $str , array $replace )
第一个参数表示待转换的字符串。
第二个参数表示以数组键值形式更换指定字符串。
<?php$str = "PHP拥抱每一种生活!
";echo $str;echo "</br>";echo strtr($str, array("每" => '22')) . '';echo "</br>";echo strtr($str, array("每" => '。', "生活" => "状态")) . '';echo "</br>";?>结果:PHP拥抱每一种生活!
PHP拥抱22一种生活!
PHP拥抱。一种状态!
PHP中strtr函数也可以实现中笔墨符串更换。
利用strtr函数不仅可以实现多个字符串更换还能实现中笔墨符串更换等。
二、str_replace()函数以其他字符更换字符串中的一些字符(区分大小写)。
该函数必须遵照下列规则:
如果搜索的字符串是数组,那么它将返回数组。
如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和更换。
如果同时须要对数组进行查找和更换,并且须要实行更换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行更换
如果查找的是数组,而更换的是字符串,那么替代字符串将对所有查找到的值起浸染。
注释:该函数区分大小写。请利用str_ireplace()函数实行不区分大小写的搜索。
注释:该函数是二进制安全的。
<?php$arr = array("blue","red","green","yellow");print_r(str_replace("red","pink",$arr,$i));echo "</br>";echo "更换数:$i";echo "</br>";$find = array("Hello","world");$replace = array("B","Q");$arr = array("Hello","world","!");print_r(str_replace($find,$replace,$arr));?> 结果:Array ( [0] => blue [1] => pink [2] => green [3] => yellow )更换数:1Array ( [0] => B [1] => Q [2] => ! )