主题: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