PHP——字符串(1)

主题:split()、spliti()、explode()三个关于字符串的方法浅析;

       ——注释:“spliti是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有效。


扫描二维码关注公众号,回复: 2212736 查看本文章

 split()关于日期的代码:

PHP split()函数返回一个字符串数组,每个单元为$string经正则表达式$pattern作为边界分割出的子串。

如果设定了$limit,则返回的数组最多包含$limit个单元。而其中最后一个单元包含了$string中剩余的所有部分。

spliti是split的忽略大小版本。

代码:一个经常用到关于日期的示例。

< ?php   
$date = "08/30/2006";  
//分隔符可以是斜线,点,或横线  
list($month, $day, $year) = split 
('[/.-]', $date);  
//输出为另一种时间格式  
echo "Month: $month; Day: $day; Year: 
$year< br />\n";  
?>

参考:
http://www.jb51.net/article/31434.htm
http://developer.51cto.com/art/200911/165873.htm

猜你喜欢

转载自blog.csdn.net/guodonggang/article/details/41596035