PHP: explode() vs. split()
by bhartsock on Jun.11, 2007, under PHP
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.
June 21st, 2007 on 10:03 am
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”;
}
December 13th, 2008 on 5:11 pm
@result_array = (“haha||hoho”, “mama||papa”, “qwer||asdf”);
foreach ( @result_array ) {
print split(/\|\|/, $_), “\n”;
}
July 17th, 2009 on 3:25 pm
thank you for this post , I was wondering whar is faster
February 24th, 2010 on 9:51 pm
Me and my friend were actully discussing this the other day! Now I know that I was right. lol!
April 9th, 2010 on 11:03 am
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!
June 11th, 2010 on 5:08 pm
now split() is deprecated!!!