`

PHP中str_replace函数的详解

阅读更多

      在实际的程序开发中,执行字符串替换操作是一件非常经常的事,对str_replace函数的实用也会非常频繁。
      这段时间在看《PHP和MySQL Web开发》一书看到str_replace讲解,一段小提示写到:可以为str_replace的三个都使用数组传入,但讲解比较简单,于是决定自己的试验一下该函数在各个参数传入数组时的执行结果。
      函数原型:mixed str_replace(mixed needle,mixed new_needle,mixed haystack[,int &count]);
      needle:要被替换的字符串,new_needle:替换用的字符串,haystack:操作字符串,count:替换次数【可选参数】
     我们重点试验前三个在使用数组是的执行方式:
    
      在都不使用数组时,该函数直接使用new_needle替换所有的needle并返回替换后的字符串。如:str_replace("m","n","my name is jim!")返回ny nane is jin!

     1、只对needle使用数组。
     示例:str_replace(array('m','i'),'n',"my name is jim!");返回:ny nane ns jnn!
     可以看出,函数顺序性的对数组中每个字符串进行替换,并返回替换后的字符串。
      2、只对new_needle使用数组。
     示例:str_replace('m',array('n','z'),"my name is jim!\n")返回:Arrayy naArraye is jiArray!
      该替换比较有意思,如果只对第二个参数使用数组则函数将其作为字符串Array进行使用,将所有的needle替换为了数组。
     3、只对haystack使用数组。
     示例:str_replace("m","n",array("my name is jim!","the game is over!"))该语句执行结果返回一个数组,即分别为传入的两个字符串替换后的结果。
     如果输出数组内容会看到:ny nane is jin! the gane is over!

     4、对needle和new_needle都使用数组
     示例:str_replace(array("m","i"),array("n","z"),"my name is jim!")返回:ny nane zs jzn!
     查看执行结果可以发现,如果前两个参数都使用数组则函数把数组各个对象项字符串进行了替换,及needle的第一项替换为new_needle的第一项。以此类推。 
     如 果needle数组比new_deedle长,例 如:str_replace(array("m","i","s"),array("n","z"),"my name is jim!");返回:ny nane z jzn!可见,对于needle数组多出来的字符串被替换为了空串。
     如果new_needle数组比needle长,例 如:str_replace(array("m","i"),array("n","z","x"),"my name is jim!")返回ny nane zs jzn!可见new_needle多余的项被忽略。
     5、三个参数都使用数组。
     例如:str_replace(array("m","i"),array("n","z"),array("my name is jim!","the game is over"))返回的数组内容:ny nane zs jzn!the gane zs over
     这个比较好理解,对两个字符串分别执行替换。

    简单总结下,防止自己忘记!

分享到:
评论

相关推荐

    php str_replace替换指定次数的方法详解

    str_replace() 函数替换字符串中的一些字符(区分大小写)。 该函数必须遵循下列规则: 如果搜索的字符串是一个数组,那么它将返回一个数组。 如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和...

    详解PHP字符串替换str_replace()函数四种用法

    下面通过本文给大家分享PHP字符串替换str_replace()函数4种用法,具体内容如下所示: mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) 该函数返回一个字符串或者数组。该...

    hive sql 拆解字段.docx

    在 Hive 中,可以使用多种函数来拆解字段,本文将详细介绍四种常用的函数:SPLIT、SUBSTRING_INDEX、REGEXP_REPLACE 和 LATERAL VIEW explode。 1. SPLIT 函数 SPLIT 函数用于将一个字符串按照指定的分隔符拆分成...

    js中string之正则表达式replace方法详解.docx

    JavaScript 中 String 对象的 replace 方法详解 replace 方法是 JavaScript 中 String 对象的方法,用于将字符串中的部分内容替换为新的内容。该方法的语法为:`stringObj.replace(regexp/substr, replacement)`,...

    Oracle 自定义split 函数实例详解

    Oracle 自定义split 函数...CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000); CREATE OR REPLACE FUNCTION fn_var_split ( p_str IN VARCHAR2, p_delimiter IN VARCHAR2 ) RETURN ty_str_split IS

    MYSQL 批量替换之replace语法的使用详解

    实际需求中,需要对某张表某字段里面的内容进行批量替换,普通的思考流程如下:SELECT出来str_replace替换UPDATE写入实际这样极其浪费资源以及消耗资源,MYSQL内置了一个批量替换的语法 代码如下:UPDATE table SET ...

    JS中的Replace()传入函数时的用法详解

    replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象...str = str.replace(reg,function(a,b){ console.log(a); console.log(b); return b == 0

    DEDE的使用最多的标签技巧详解.pdf

    该标签用于生成栏目链接,typelink表示栏目链接,str_replace函数用于替换链接的某些字符。 作者链接调用标签 [field:writer/] 该标签用于生成作者链接。 列表点击调用标签 [field:click/] 该标签用于生成列表...

    Oracle自定义脱敏函数的代码详解

    对于信息安全有要求的,在数据下发和同步过程中需要对含有用户身份信息的敏感字段脱敏,包括用户姓名、证件号、地址等等,下面是自定义函数的代码 CREATE OR REPLACE FUNCTION F_GET_SENSITIVE(IN_STR VARCHAR, IN...

    CodeIgniter:php敏捷开发框架web快速开发详解

    PHP 程序员们早已习惯了将需要重复使用的代码写在函数中,并将这些函数放在 include 文件里。 同样的,框架是为重用而发明的,存放在独立的文件中,用来简化重复操作的代码。 上面例子中连接数据库和编写 HTML ...

    《C++String深入详解2.0版》PDF

    1.2.5 c_str 5 1.2.6 capacity 5 1.2.7 clear 6 1.2.8 compare 6 1.2.9 copy 6 1.2.10 _Copy_s 6 1.2.11 data 6 1.2.12 empty 6 1.2.13 end 6 1.2.14 erase 6 1.2.15 find 6 1.2.16 find_first_not_of 7 1.2.17 find...

    php网络开发完全手册

    6.1 PHP中目录操作详解 91 6.1.1 打开目录 91 6.1.2 关闭目录 91 6.1.3 读取目录中的文件 92 6.1.4 创建目录 92 6.1.5 删除目录 93 6.2 PHP中文件操作详解 93 6.2.1 打开文件 93 6.2.2 关闭文件 94 6.2.3 读取文件 ...

    (完整word版)Python基本函数.doc

    Python 基本函数详解 Python 是一种流行的高级编程语言,具有简洁易用的语法和强大的功能。作为 Python 的基础,基本函数是学习 Python 的必经之路。本文将对 Python 的基本函数进行详细的介绍,包括基本数据类型...

    日常收集整理php正则表达式(超常用)

    $str = preg_replace("/()/", '\1<span>\2</span>\3', $str); 其中用了三个子模式(每个圆括号中内容为一个子模式),第一个是链接开始标签,第二个是链接文本,第三个是 然后第二个参数中\1、\2、\3就表示这三个...

    string类[定义].pdf

    String 类定义和操作详解 本篇文章主要介绍了 C++ 中的 String 类的定义、声明、操作函数和成员函数等方面的知识点。 一、String 类的定义和声明 在 C++ 中,String 类是标准程序库中的一个基本类,它提供了字符...

    详解MySQL拼接函数CONCAT的使用心得

    前几篇文章给大家介绍了MySQL中的替换函数(Replace)、切分函数(SubString),今天我们一起来看看MySQL专业拼接“字符串”的函数:concat。老规矩,有好的建议和想法,记得写到评论中,等我上班摸鱼时,跟大家一起...

    Python教程-字符串详解及序列类型.pdf

    Python 字符串详解及序列类型 Python 中的字符串是我们在程序中使用非常多的一个对象,对于字符串的处理在各种编程语言中也是非常重要的一部分。 字符串定义 在 Python 中,字符串可以使用单引号、双引号或者三个...

    对python 中re.sub,replace(),strip()的区别详解

    str.strip([chars]);去除字符串前面和后面的所有设置的字符串,默认为空格 chars — 移除字符串头尾指定的字符序列。 st = hello st = st.strip() print(st+end) 输出: 如果设置了字符序列的话,那么它会删除,...

    增强的 JavaScript 的 trim 函数的代码

    JavaScript 增强的 trim 函数的代码详解 JavaScript 中的trim函数是一个非常有用的函数,它可以删除字符串两端的空格,以便于字符串的处理和格式化。但是,JavaScript 中的trim函数有其局限性,例如无法删除指定的...

Global site tag (gtag.js) - Google Analytics