too long

We are trying to get certain parts of a String.

We have the string:

location:32:DaD+LoC:102AD:Ammount:294

And we would like to put the information in different strings. For example $location=32 and $Dad+Loc=102AD

The values vary per string but it will always have this construction: location:{number}:DaD+LoC:{code}:Ammount:{number}

So... how do we get those values?

Easy fast forward approach:

$string = "location:32:DaD+LoC:102AD:Ammount:294";

$arr = explode(":",$string);

$location= $arr[1];
$DaD_LoC= $arr[3];
$Ammount= $arr[5];

$StringArray = explode ( ":" , $string)

the php function split is deprecated so instead of this it is recommended to use preg_split or explode. very useful in this case is the function list():

list($location, $Dad_Loc, $ammount) = explode(':', $string);

EDIT: my code has an error:

list(,$location,, $Dad_Loc,, $ammount) = explode(':', $string);

That would produce what you want, but for example $dad+Loc is an invalid variable name in PHP so it wont work the way you want it, better work with an array or an stdClass Object instead of single variables.

  $string = "location:32:DaD+LoC:102AD:Ammount:294";
  $stringParts = explode(":",$string);
  $variableHolder = array();
  for($i = 0;$i <= count($stringParts);$i = $i+2){
      ${$stringParts[$i]} = $stringParts[$i+1];
  }

  var_dump($location,$DaD+LoC,$Ammount);

By using preg_split and mapping the resulting array into an associative one. Like this:

$str  = 'location:32:DaD+LoC:102AD:Ammount:294';
$list = preg_split('/:/', $str);

$result = array();
for ($i = 0; $i < sizeof($list); $i = $i+2) {
    $result[$array[$i]] = $array[$i+1];
};

print_r($result);

it seems nobody can do it properly

$string = "location:32:DaD+LoC:102AD:Ammount:294";
list(,$location,, $dadloc,,$amount) = explode(':', $string);