您的位置:首页 > 编程语言 > PHP开发

php中explode与split的区别介绍

2016-05-06 16:43 615 查看

php中explode与split的区别介绍

作者: 字体:[增加 减小] 类型:转载 时间:2012-10-03 我要评论

今天在使用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有效。

您可能感兴趣的文章:

PHP的explode和implode的使用说明
PHP源码之explode使用说明
PHP explode()函数用法、切分字符串
php字符串分割函数explode的实例代码
php中利用explode函数分割字符串到数组
php使用explode()函数将字符串拆分成数组的方法
PHP数组和explode函数示例总结
PHP explode() 函数

关于php中split()和explode()

发布时间: 2012-07-13 浏览次数:26214
分类: PHP教程

首先贴上php代码看着两函数:

<?php
$email = 'phpddt1990@163.com';
$arr = split('\.|@',$email);
print_r($arr);
?>

<?php
$str = 'php,java,ruby';
$arr = explode(',',$str);
print_r($arr);
?>

由上可以至少可以看出:

explode函数只支持用字符分隔,然而split是用正则表达式,当然使用split可以处理一些复杂的字符串分析问题。而explode需要有一定的规则,但是执行效率更高!

值得注意的是,其实第一段代码是有点小问题的:会报下面错误:

Deprecated: Function split() is deprecated in F:\web\zend\exercise\test.php on line
4

这是因为:php5.3版本后split()这个函数就不建议被使用了,

POSIX风格都不能使用了, 与建议替换成的Function (PCRE),见下表:

* POSIX → PCRE
* ereg_replace() → preg_replace()
* ereg() → preg_match()
* eregi_replace() → preg_replace()
* eregi() → preg_match()
* split() → preg_split()
* spliti() → preg_split()
* sql_regcase() → No equivalent

转载请注明地址: http://www.phpddt.com/php/541.html 尊重他人劳动成果就是尊重自己!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: