What is the difference between split() and explode()?

孤者浪人 提交于 2019-12-18 11:41:49

问题


The PHP manual for split() says

This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged...Use explode() instead.

But I can't find a difference between split() and explode(). join() hasn't been deprecated, so what gives?


回答1:


It's been deprecated because

  • explode() is substantially faster because it doesn't split based on a regular expression, so the string doesn't have to be analyzed by the regex parser
  • preg_split() is faster and uses PCRE regular expressions for regex splits

join() and implode() are aliases of each other and therefore don't have any differences.




回答2:


split uses regex, while explode uses a fixed string. If you do need regex, use preg_split, which uses PCRE (the regex package now preferred across the PHP standard library).




回答3:


In split() you can use regular expressions to split a string. Whereas explode() splits a string with a string. preg_split is a much faster alternative, should you need regular expressions.




回答4:


Both the functions are used to Split a string.

However, Split is used to split a string using a regular expression.

On the other hand, Explode is used to split a string using another string.

E.g explode (" this", "this is a string"); will return “Is a string

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




回答5:


Both are used to split a string into an array, but the difference is that split() uses pattern for splitting whereas explode() uses string. explode() is faster than split() because it doesn't match string based on regular expression.




回答6:


The split() function splits the string into an array using a regular expression and returns an array.

The explode() function splits the string by string.

E.g:

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

The result will be

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

Note:The function split() was DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0



来源:https://stackoverflow.com/questions/3640990/what-is-the-difference-between-split-and-explode

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!