定义:str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)。
规则:
1)如果搜索的字符串是数组,那么它将返回数组。
2)如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和替换。
3)如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
4)如果查找的是数组,而替换的是字符串,那么替代字符串将对所有查找到的值起作用。
语法:str_replace(find,replace,string,count)。其中,count:对替换数进行计数的变量。[在 PHP 5.0 中,新增了 count 参数。]
具体例子如下所示。
字符串里字符替换
$str = 'abcdefg';
#单个字符替换
echo str_replace('b', 'B', $str);
#输出:aBcdefg
echo str_replace(['b'], ['B','C'], $str);
#输出:aBcdefg
#多个字符替换成同一个字符串
echo str_replace(['b','c'], 'BC', $str);
#输出:aBCBCdefg
#多个字符分别替换成不同的字符
#情况一:
echo str_replace(['b','c'], ['B','C'], $str);
#输出:aBCdefg
#情况二:
echo str_replace(['b','c'], ['B'], $str);
#输出:aBdefg(是不是以为我写错了,告诉你,没有错,具体解释见规则3)
数组里元素替换
$arr = ['a','b','c','d'];
#单个元素替换
#情况一:
var_dump(str_replace('a', 'A', $arr));
#输出:array (size=4)
0 => string 'A' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
#情况二:
var_dump(str_replace(['a'], ['A','B'], $arr,$count));
echo "替换数:$count";
#输出:array (size=4)
0 => string 'A' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
替换数:1
#多个元素替换
#情况一:
var_dump(str_replace(['a','b'], ['A'], $arr));
#输出:array (size=4)
0 => string 'A' (length=1)
1 => string '' (length=0)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
#情况二:
var_dump(str_replace(['a','b'], 'A', $arr,$count));
echo "替换数:$count";
#输出:array (size=4)
0 => string 'A' (length=1)
1 => string 'A' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
替换数:2