问题
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 parserpreg_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