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

2022-08-30 12:53:38

PHP 手册 for split()

此函数自 PHP 5.3.0 起已弃用。非常不鼓励依赖此功能...请改用。explode()

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


答案 1

它已被弃用,因为

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

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


答案 2

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


推荐