Phil Phil - 8 months ago 31
PHP Question

PHP iterating through a simple comma separated list

I have a string which can be

$string = "value.";


$string = "value1, value2.";

I want to iterate through this string getting each item which are ->
(in first example) and ->
in the second (without the comma or the dot in the end).

I was thinking of;

  1. Replace the dot in the end.

  2. Check if there is any comma.

  3. If there is comma, split-explode using ", " and iterate through.

  4. If not, only one item so just use it.

Is this the right way of doing it?

I am new to PHP and trying to learn best practices and best ways of solving the issues.

Thank you.


You're absolutely right, you could do it like this:

$string = 'foo, bar, baz.';
$string = preg_replace('/\.$/', '', $string); //Remove dot at end if exists
$array = explode(', ', $string); //split string into array seperated by ', '
foreach($array as $value) //loop over values
    echo $value . PHP_EOL; //print value