加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中explode与split函数的差异

发布时间:2022-06-18 15:48:02 所属栏目:PHP教程 来源:互联网
导读:在一个层面来看php中的explode与split函数没什么区别都用来把字符以什么分开成数组了,但仔细看一下explode与split还是有区别的,下面我来给大家介绍一下。 首先来看下两个方法的定义: 函数原型:array split (string $pattern, string $string [, int $limit])
  在一个层面来看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是普通字符串, 看下面的代码,代码如下:
 
  $test = end(explode('.', 'abc.txt'));
  echo $test;//output txt
  //换成:
  $test1 = end(split('.','abc.txt'));
  echo $test1;//no output
  用split的正确做法是:加转义符号
 
  $test1 = end(split('.','abc.txt'));
  echo $test1;//output txt
  分析:"." 符号是正则表达式的关键字所以split无效,而explode有效,解析可能用斜线,点,或横线分割的日期:
 
  例子2,split() 例子
 
  <?php  
  //   分隔符可以是斜线,点,或横线  
  $date   =   "04/30/1973 ";  
  list($month,   $day,   $year)   =   split   ( '[/.-] ',   $date);  
  echo   "Month:   $month;   Day:   $day;   Year:   $year <br   /> n ";  
  ?>
  想仿效 Perl 中类似的   @chars   =   split( ' ', $str) 行为,请参考   preg_split() 函数中的例子.
 
  注意:pattern 是一个正则表达式,如果想要用的分割字符是正则表达式中的特殊字符,要先将其转义,如果觉得   split()(或其它任何regex 函数)行为古怪的话,请阅读包含在 PHP 发行包中 regex/ 子目录下的 regex.7 文件.

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读