Php 分解逗号分隔的值(带空格或不带空格)

Php 分解逗号分隔的值(带空格或不带空格),php,Php,表单上的输入字段接受逗号分隔的值列表 无论用户输入的值在每个逗号后加空格:1、2、3还是不加1、2、3,我如何将这些值转换为数组 基本上我想合并 $myArray=explode(',',$myString) 和 $myArray=explode(',',$myString)据我所知,分解后需要修剪值。您可以使用分解和修剪和数组映射 $input= 'one, two, three'; $v = explode(',', $input); $v = array_map('trim', $v);

表单上的输入字段接受逗号分隔的值列表

无论用户输入的值在每个逗号后加空格:
1、2、3
还是不加
1、2、3
,我如何将这些值转换为数组

基本上我想合并
$myArray=explode(',',$myString)
$myArray=explode(',',$myString)

据我所知,分解后需要修剪值。您可以使用
分解
修剪
数组映射

$input= 'one, two, three';
$v = explode(',', $input);

$v = array_map('trim', $v);
var_dump($v);
输出

array(3) {
  [0]=>
  string(3) "one"
  [1]=>
  string(3) "two"
  [2]=>
  string(5) "three"
}

您必须尝试以下代码:

$myString = "one, two, three";
$myArray = explode(',', $myString);
$trimmed_myArray = array_map('trim',$myArray);
print_r($trimmed_myArray);

当字符串中的值分隔符是可变的时,
preg_split()
提供了一个简单、直接的过程

代码:()

输出:

array (
  0 => 'one',
  1 => 'two',
  2 => 'three',
  3 => 'four',
  4 => 'five',
  5 => 'six',
  6 => 'seven',
)
这是一个干净的解决方案,因为它不需要任何字符串准备或拆分后迭代“清理”。一个函数调用就可以完成这一切


模式仅在逗号后加一个可选空格(
表示前面空格的出现次数为零或一次)。

您必须使用
explode
而不是
inbode
。可能
/,\s*?/
是一个更好的正则表达式,因为提供的字符串可能在逗号后有空格,也可能没有空格。如果您的情况可能还有制表符或换行符(
\t,
\r
\n
),则可以使用
\s
)。如果您的情况可能有零个或多个空白字符(而不是零个或一个),则使用
*`量词。在这种情况下修改
量词没有任何好处。
array (
  0 => 'one',
  1 => 'two',
  2 => 'three',
  3 => 'four',
  4 => 'five',
  5 => 'six',
  6 => 'seven',
)