TDSii
TDSii

Reputation: 1725

split string after x characters

How to split $string after 5 characters into an array

example:

$string="123456789";

expected output

$output[0] contain "12345";
$output[1] contain "6789";

Upvotes: 47

Views: 71154

Answers (3)

Gvtha
Gvtha

Reputation: 1503

If you want to split after 5 characters, try below.

$first5 splits the string and get the first 5 characters of the $str string. $theRest splits the string and gets the remaining part of the $str string.

$first5 = substr($str, 0, 5);
$theRest = substr($str, 5);

Variable names are just for explanation. Also if you try this on a string less than 5 characters $theRest will be FALSE

Upvotes: 0

TDSii
TDSii

Reputation: 1725

With the help of BoltClocks' answer I have created the following function to solve the problem:

function split_on($string, $num) {
    $length = strlen($string);
    $output[0] = substr($string, 0, $num);
    $output[1] = substr($string, $num, $length );
    return $output;
}

Upvotes: 25

BoltClock
BoltClock

Reputation: 723618

If you need to split a string after every 5 characters, try str_split():

$output = str_split($string, 5);

If you only need to extract the first 5 characters and put the rest of the string in the second part of your array, you can use substr() as NullUserException suggests (code from his now-deleted answer):

$output[0] = substr($string, 0, 5);
$output[1] = substr($string, 5);

Upvotes: 103

Related Questions