split和explode的区别

split看起来貌似和explode没有什么区别,而且功能也都一样

 

但是,split是用正则表达式进行分割,而explode是用字符串进行分割,相对来讲,explode用起来更快一些.

 

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

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

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

 

第一个参数string $pattern和string $separator,$pattern说明是正则字符串,$separator说明是普通字符串.

 

所以如果想要用的分割字符是正则表达式中的特殊字符,要先将其转义.

 

示例:

$test1 = end(split('.','abc.txt')); 

echo $test1;//no output

 

 

正确的做法是:

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

 

原因:'.'是正则表达式中的关键字,所以split无效,而explode无影响.

posted @ 2013-08-20 00:22  conqueror东子  阅读(344)  评论(0)    收藏  举报