表单上的输入字段接受逗号分隔值列表。
如果用户在每个逗号之后输入带空格的值,我怎样才能将这些值转换为数组:one, two, three
或没有one,two,three
?
基本上我想要结合起来
$myArray = explode(', ', $myString);
和
$myArray = explode(',', $myString);
答案 0 :(得分:3)
您必须尝试以下代码:
$myString = "one, two, three";
$myArray = explode(',', $myString);
$trimmed_myArray = array_map('trim',$myArray);
print_r($trimmed_myArray);
答案 1 :(得分:1)
据我了解,您希望在爆炸后修剪值。您可以使用explode
& trim
& array_map
。
$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"
}
答案 2 :(得分:1)
当字符串中的值分隔符变量时,preg_split()
会提供一个简单直接的过程。
代码:(Demo)
$mystring='one,two,three,four, five, six, seven';
var_export(preg_split('/, ?/',$mystring));
输出:
array (
0 => 'one',
1 => 'two',
2 => 'three',
3 => 'four',
4 => 'five',
5 => 'six',
6 => 'seven',
)
这是一个干净的解决方案,因为它不需要任何字符串准备或后拆分迭代“扫荡”。一个函数调用可以完成所有操作。
该模式仅在逗号后面跟一个可选空格爆炸(?
表示前一个空格零或一次出现)。