PHP: explode() vs. split()

Even though I have been a PHP programmer for 4 years or so now, I still discover new things every day. While looking at different ways to split strings based on regular expressions I learned an important lesson.

explode() isn’t the same as split()!

Since I learned Perl before PHP, I prefer using split() and join() instead of explode() and implode(), respectively. To my surprise, split() is not an alias of explode() while join() is an alias of implode().

The biggest difference is explode() takes a delimiter to split by, while split() takes a regular expression. This means that explode() is going to execute faster. Also, the PHP documentation says that preg_split() is faster than split(), so really there isn’t much of a reason to use split() at all.

8 thoughts on “PHP: explode() vs. split()

  1. How will the following PHP code look like in PERL?
    Code:

    foreach ($arrResults as $result)
    {
    print_r(explode(‘||’, $result));
    echo(“”);
    }

    =======================

    This is what I have, but it’s not working.
    Code:

    @result_array = $result;

    foreach $line ( @result_array )
    {

    $line2 = split(‘\|\|’, $line);
    print “$line2\n”;

    }

  2. @result_array = (“haha||hoho”, “mama||papa”, “qwer||asdf”);

    foreach ( @result_array ) {
    print split(/\|\|/, $_), “\n”;
    }

  3. split() is a bad practice in PHP, you MUST USE explode()

    even php people know that, split() now is obsolete!

    start your modifying your function today!

  4. Pingback: For free time that I don’t have

  5. Pingback: For free time that I don’t have » explode() and preg_replace() functions are recommended

Comments are closed.