comma-separated string to array

I'm looking for the simplest way to take a single variable such as:

$variable = 'left,middle,right';

and write it to an array(); split at the commas.


Solution 1:

$array = explode(',', $variable);

Solution 2:

In case you string gets a little bit more complex (i.e. elements can be in quotes and both the delimiter and the quoting character can appear within an element) you might also be interested in fgetcsv() and str_getcsv()

$variable = '"left,right","middle", "up,down"';
$row = str_getcsv($variable);
var_dump($row);

prints

array(3) {
  [0]=>
  string(10) "left,right"
  [1]=>
  string(6) "middle"
  [2]=>
  string(7) "up,down"
}

Solution 3:

you can also use preg_split()

$variable = 'left  ,  middle,   right';
print_r ( preg_split("/\s*,\s*/",$variable));