php中str_replace函数的多种用法总结

原创
2016-06-23 13:24:47 570浏览

函数原型:mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

这个函数的三个参数类型都是mixed,所以它们都既可以是字符串,也可以是数组,因此就有以下几种用法:

1、 $search和$replace都是字符串,这是最常见的用法

echo str_replace("a", "apple", "This is a demo.");

输出:This is apple demo.


2、$search为数组,对$search中的数组元素逐个替换成$replace,最终输出为字符串。

echo str_replace(array("a", "p","o"), "apple", "This is a demo.");

输出:This is aappleapplele demapple.


3、$replace为数组,会报错且不会输出预想的结果,不建议使用

echo str_replace("a",  array("apple", "pear"), "This is a demo.");

输出:This is Array demo.并报错 Notice: Array to string conversion


4、$subject为数组,$subject中的每个数组元素都会做一次独立替换,最终输出为数组。

print_r(str_replace("a", "apple", array("This is a demo.", "This is not a demo.")));

输出:Array ( [0] => This is apple demo. [1] => This is not apple demo. )


5、$search和$replace都为数组,这时又可以分为三种情况:

a).$search和$replace一样长,则相同下标对应替换

b).$search比$replace长,则$search中比$replace多出的数组元素都被替换成空字符串

c).$search比$replace短,则$replace中多出的数组元素被忽略

echo str_replace(array("a", "o"), array("apple", "pear"), "This is a demo.");

输出:This is apple dempear.


6、$search、$replace和$subject都为数组,这是以上多种情况的综合

print_r(str_replace(array("a", "o"), array("apple", "pear"), array("This is a demo.", "This is not a demo.")));

输出:Array ( [0] => This is apple dempear. [1] => This is npeart apple dempear. )

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。