37

PHP手册split()

自 PHP 5.3.0 起,该函数已被弃用。强烈建议不要依赖此功能...explode() 改为使用此功能。

但我找不到split()和之间的区别explode()join()还没有被弃用,所以什么给了?

4

6 回答 6

59

它已被弃用,因为

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

join()并且implode()是彼此的别名,因此没有任何区别。

于 2010-09-04T05:09:12.857 回答
6

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

于 2010-09-04T05:08:52.757 回答
2

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

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

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

例如explode("this", "this is a string"); 将返回“<strong>是一个字符串”</p>

例如Split(" + ", "This+ is a string");

于 2010-09-04T06:40:47.347 回答
1

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

于 2010-09-04T05:09:31.907 回答
1

两者都用于将字符串拆分为数组,但不同之处在于split()使用模式进行拆分,而explode()使用字符串。explode()split()因为它不匹配基于正则表达式的字符串要快。

于 2015-12-02T06:57:20.877 回答
0

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

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

例如:

<?php
    $split_array=split(':','I:P:S');
    $explode_array=explode('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 )

注意:函数 split() 在 PHP 5.3.0 中已弃用,在 PHP 7.0.0 中已删除

于 2015-01-28T10:00:04.403 回答