表單上的輸入字段接受逗號分隔值列表。使用或不使用空格分解逗號分隔值
如何將這些值轉換爲數組,無論用戶是否在每個逗號後輸入空格:one, two, three
或不帶one,two,three
?
基本上我想 $myArray = explode(', ', $myString);
和 $myArray = explode(',', $myString);
表單上的輸入字段接受逗號分隔值列表。使用或不使用空格分解逗號分隔值
如何將這些值轉換爲數組,無論用戶是否在每個逗號後輸入空格:one, two, three
或不帶one,two,three
?
基本上我想 $myArray = explode(', ', $myString);
和 $myArray = explode(',', $myString);
你一定要試試下面的代碼:
$myString = "one, two, three";
$myArray = explode(',', $myString);
$trimmed_myArray = array_map('trim',$myArray);
print_r($trimmed_myArray);
據我瞭解結合起來,你要爆炸後修整值。您可以使用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"
}
當你的字符串值分隔符是可變的,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',
)
這是一個乾淨的解決方案,因爲它不需要任何字符串準備或拆分後反覆 「掃蕩」。一個函數調用就完成了。
該模式僅在逗號後面加上可選空間(?
意味着零次或一次出現在前面的空間)時爆炸。
你必須使用'explode'而不是'implode'。 –