PHP迭代一个简单的逗号分隔列表

Phi*_*hil 5 php

我有一个字符串可以

$string = "value.";
Run Code Online (Sandbox Code Playgroud)

要么

$string = "value1, value2.";
Run Code Online (Sandbox Code Playgroud)

我想遍历这个字符串,得到每个项目 - > value(在第一个例子中)和 - > value1AND value2在第二个(最后没有逗号或点).

我在想;

  1. 最后更换点.
  2. 检查是否有逗号.
  3. 如果有逗号,则使用","拆分爆炸并迭代.
  4. 如果没有,只有一个项目,所以只使用它.

这是正确的做法吗?

我是PHP的新手,并试图学习最佳实践和解决问题的最佳方法.

谢谢.

Tyi*_*ilo 18

你是对的,你可以这样做:

$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
}
Run Code Online (Sandbox Code Playgroud)