网站地图    收藏   

主页 > php专栏 > php函数大全 >

php中explode与split函数的区别 - php函数

来源:自学PHP网    时间:2014-11-25 00:26 作者: 阅读:

[导读] 在一个层面来看php中的explode与split函数没什么区别都用来把字符以什么分开成数组了,但仔细看一下explode与split还是有区别的,下面我来给大家介绍一下。首先来看下两个方法的定义:函数...

php中explode与split函数的区别

在一个层面来看php中的explode与split函数没什么区别都用来把字符以什么分开成数组了,但仔细看一下explode与split还是有区别的,下面我来给大家介绍一下。

首先来看下两个方法的定义:

函数原型:array split (string $pattern, string $string [, int $limit])

函数原型:array explode ( string $separator, string $string [, int $limit])

初看没有啥差别,貌似功能都一样,我就犯了这个错误, 请注意两个函数的第一个参数string $pattern和string separator,一个是$pattern说明是正则字符串,一个是$separator是普通字符串, 看下面的代码,代码如下:

  1. $test = end(explode('.''abc.txt')); 
  2. echo $test;//output txt 
  3. //换成: 
  4. $test1 = end(split('.','abc.txt')); 
  5. echo $test1;//no output 

用split的正确做法是:加转义符号

  1. $test1 = end(split('.','abc.txt')); 
  2. echo $test1;//output txt 

分析:"." 符号是正则表达式的关键字所以split无效,而explode有效,解析可能用斜线,点,或横线分割的日期:

例子2,split() 例子

  1. <?php  
  2. //   分隔符可以是斜线,点,或横线  
  3. $date   =   "04/30/1973 ";  
  4. list($month,   $day,   $year)   =   split   ( '[/.-] ',   $date);  
  5. echo   "Month:   $month;   Day:   $day;   Year:   $year <br   /> n ";  
  6. ?> 

想仿效 Perl 中类似的   @chars   =   split( ' ', $str) 行为,请参考   preg_split() 函数中的例子.

注意:pattern 是一个正则表达式,如果想要用的分割字符是正则表达式中的特殊字符,要先将其转义,如果觉得   split()(或其它任何regex 函数)行为古怪的话,请阅读包含在 PHP 发行包中 regex/ 子目录下的 regex.7 文件.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论