zoukankan      html  css  js  c++  java
  • 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 )
  • 相关阅读:
    1-29反射
    1-28Map简介
    1-27TreeSet简介
    1-26HashSet简介
    1-25泛型
    1-24List三个子类的特点
    1-23集合概述
    Java接口
    1-22日期类型
    简易计算器的实现
  • 原文地址:https://www.cnblogs.com/cxx8181602/p/9851089.html
Copyright © 2011-2022 走看看