php str_replace与substr_replace的区别

函数定义:

str_replace() :函数替换字符串中的一些字符(区分大小写).

substr_replace() :函数把字符串的一部分替换为另一个字符串.

区别:

str_replace()和substr_replace()这两个函数概念,看起来都是替换字符串没什么区别.但是两者的用法还是有区别?
str_replace() 使用场景更多是对单个字符串和连续字符串过滤替换处理.           注意:间隔字符串过滤替换,更多使用php正则匹配替换处理  
substr_replace() 使用场景对字符串长度位置检索进行过滤替换或插入处理.     注意:对中文字符串截取不适用,更多使用中文截取函数mb_substr() 

语法:

str_replace(find,replace,string,count)

demo示例:

1.字符串替换字符串

1 $stringData = str_replace('world','Admin','Hello world',$i);
2 print_r($stringData);//Hello Admin
3 echo '替换次数:'.$i;//替换次数:1

2.字符串替换数组键值

1 $arrData = array('A','B','C','D_A');
2 print_r(str_replace('A','E',$arrData,$i));//Array ( [0] => E [1] => B [2] => C [3] => D_E )
3 echo '替换次数:'. $i;//替换次数:2

3.数组匹配字符串替换数组键值

1 $find = array('A','D');
2 $replace = 'E';
3 $arrData = array('A','B','C','D_A');
4 print_r(str_replace($find,$replace,$arrData,$i));//Array ( [0] => E [1] => B [2] => C [3] => E_E )
5 echo '替换次数:'.$i;//替换次数:3

4.数组匹配数组替换数组键值

1 $find = array('A','D');
2 $replace = array('E');
3 $arrData = array('A','B','C','D_A');
4 print_r(str_replace($find,$replace,$arrData,$i));//Array ( [0] => E [1] => B [2] => C [3] => _E )
5 echo '替换次数:'.$i;//替换次数:3

语法:
substr_replace(string,replacement,start,length)

demo示例:

 1.替换字符串

1 $a=substr_replace('ABCD1234','...',4);
2 print_r($a);//ABCD...

2.插入字符串

1 $b=substr_replace('ABCD1234','...',4,0);
2 print_r($b);//ABCD...1234

3.插入字符串和规定要替换多少个字符

1 $c=substr_replace('ABCD1234','...',4,1);
2 print_r($c);//ABCD...234

4.数组匹配字符串插入

1 $replace = array('A','BB','CCC','DDDD');
2 print_r(substr_replace($replace,'E',2,0));//Array ( [0] => AE [1] => BBE [2] => CCEC [3] => DDEDD )
原文地址:https://www.cnblogs.com/cxx8181602/p/9851089.html