split()和explode()之间有什么区别?

时间:2010-09-04 05:06:17

标签: php posix-ere

split()的PHP手册

  

此功能已 DEPRECATED   PHP 5.3.0。依靠这个功能   非常沮丧...使用explode()   代替。

但我找不到split()explode()之间的区别。 join()尚未弃用,那么是什么呢?

6 个答案:

答案 0 :(得分:51)

它已被弃用,因为

  • explode()速度要快得多,因为它不会基于正则表达式进行拆分,因此字符串不必由正则表达式解析器进行分析
  • preg_split()更快,并使用PCRE正则表达式进行正则表达式拆分

join()implode()是彼此的别名,因此没有任何差异。

答案 1 :(得分:4)

split使用正则表达式,而explode使用固定字符串。如果确实需要正则表达式,请使用preg_split,它使用PCRE(现在首选PHP标准库中的正则表达包)。

答案 2 :(得分:1)

split()中,您可以使用正则表达式来拆分字符串。而explode()用字符串拆分字符串。 如果你需要正则表达式,preg_split是一个更快的选择。

答案 3 :(得分:1)

这两个函数都用于拆分字符串。

但是,Split用于使用正则表达式拆分字符串。

另一方面,Explode用于使用另一个字符串分割字符串。

E.g 爆炸(“this”,“这是一个字符串”);将返回“是一个字符串

E.g 拆分(“+”,“此+是字符串”);

答案 4 :(得分:1)

split()函数使用正则表达式将字符串拆分为数组并返回数组。

explode()函数按字符串拆分字符串。

E.g:

<?php
    $split_array=split(':','I:P:S');
    $explode_array=split('and','I and P and S');
    print_r($split_array);
    print_r($explode_array);
?>

结果将是

Array ( [0] => I [1] => P [2] => S ) 
Array ( [0] => I [1] => P [2] => S )

答案 5 :(得分:0)

两者都用于将字符串拆分为数组,但区别在于split()使用模式进行拆分,而explode()使用字符串。 explode()split()快,因为它不会根据正则表达式匹配字符串。