【问题标题】:What is the difference between split() and explode()?split() 和explode() 有什么区别?
【发布时间】:2011-04-08 03:30:57
【问题描述】:

split() 的 PHP 手册说

此功能已被弃用为 PHP 5.3.0 的。依靠这个特性 非常不鼓励...使用explode() 而是。

但我找不到split()explode() 之间的区别。 join() 还没有被弃用,那又是什么呢?

【问题讨论】:

  • Split 给你字符串片段,而 explode 给你机器片段。嗯,可能不是... :-)
  • @Peter Rowell:分裂给你两股头发,而爆炸给你弹片。

标签: php posix-ere


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    它已被弃用,因为

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

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

    【讨论】:

    • 所以他们在命名时搞砸了,显然?听起来它应该被称为 ereg_split()。
    • @hopeseekr:PHP 总是搞乱函数的命名 ;) 是的,我想你可以这么说!
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

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

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

      例如 explode("this", "this is a string");将返回“是一个字符串

      E.g Split (" + ", "This+ is a string");

      【讨论】:

        【解决方案5】:

        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 中已删除

        【讨论】:

        • 嗨,约翰尼,快来吧!
        • 我不确定我是否理解这个答案。我不明白说明了什么,尤其是这样:$explode_array=split('and','I and P and S'); 该行也在使用 split() 函数...
        【解决方案6】:

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

        【讨论】:

          猜你喜欢
          • 2020-06-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-16
          • 2023-03-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多