Friday, September 12, 2008

PHP - String Explode

The PHP function explode lets you take a string and blow it up into smaller pieces. For example, if you had a sentence you could ask

explode to use the sentence's spaces " " as dynamite and it would blow up the sentence into separate words, which would be stored

in an array. The sentence "Hello, I would like to lose weight." would look like this after explode got done with it:

1. Hello,
2. I
3. would
4. like
5. to
6. lose
7. weight.

The dynamite (the space character) disappears, but the other stuff remains, but in pieces. With that abstract picture of the explode

function in mind, lets take a look at how it really works.
The explode Function

The first argument that explode takes is the delimiter (our dynamite) which is used to blow up the second argument, the original string.

explode returns an array of string pieces from the original and they are numbered in order, starting from 0. Lets take a phone number

in the form ###-###-#### and use a hyphen "-" as our dynamite to split the string into three separate chunks.

PHP Code:

$rawPhoneNumber = "800-555-5555";

$phoneChunks = explode("-", $rawPhoneNumber);
echo "Raw Phone Number = $rawPhoneNumber
";

echo "First chunk = $phoneChunks[0]
";

echo "Second chunk = $phoneChunks[1]
";

echo "Third Chunk chunk = $phoneChunks[2]";

Display:
Raw Phone Number = 800-555-5555
First chunk = 800
Second chunk = 555
Third Chunk chunk = 5555
explode Function - Setting a Limit

If you want to control the amount of destruction that explode can wreak on your original string, consider using the third (optional)

argument which allows you to set the number of pieces explode can return. This means it will stop exploding once the number of

pieces equals the set limit. Below we've blown up a sentence with no limit and then with a limit of 4.

PHP Code:

$someWords = "Please don't blow me to pieces.";

$wordChunks = explode(" ", $someWords);
for($i = 0; $i <>
echo "Piece $i = $wordChunks[$i]
";

}

$wordChunksLimited = explode(" ", $someWords, 4);
for($i = 0; $i <>
echo "Limited Piece $i = $wordChunksLimited[$i]
";

}

Display:
Piece 0 = Please
Piece 1 = don't
Piece 2 = blow
Piece 3 = me
Piece 4 = to
Piece 5 = pieces.
Limited Piece 0 = Please
Limited Piece 1 = don't
Limited Piece 2 = blow
Limited Piece 3 = me to pieces.

The limited explosion has 4 pieces (starting from 0, ending at 3). If you forgot how a for loop works, check out PHP For Loops.

No comments: