Theodore R. Smith
Theodore R. Smith

Reputation: 23259

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

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?

Upvotes: 38

Views: 59910

Answers (6)

rocoder
rocoder

Reputation: 59

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

Upvotes: 0

Sampath
Sampath

Reputation: 11

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.

Upvotes: 1

user386431
user386431

Reputation:

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");

Upvotes: 2

BoltClock
BoltClock

Reputation: 724342

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.

Upvotes: 60

Russell Dias
Russell Dias

Reputation: 73382

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.

Upvotes: 1

Matthew Flaschen
Matthew Flaschen

Reputation: 284957

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).

Upvotes: 6

Related Questions