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

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

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

一、 $search和$replace都是字符串,这是最多见的用法app

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

输出:This is apple demo.函数


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

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

输出:This is aappleapplele demapple.code


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

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

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


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

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. )io


五、$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.


六、$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. )

相关文章
相关标签/搜索