2016-02-08 68 views
-1

表單上的輸入字段接受逗號分隔值列表。使用或不使用空格分解逗號分隔值

如何將這些值轉換爲數組,無論用戶是否在每個逗號後輸入空格:one, two, three或不帶one,two,three

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

+3

你必須使用'explode'而不是'implode'。 –

回答

1

你一定要試試下面的代碼:

$myString = "one, two, three"; 
$myArray = explode(',', $myString); 
$trimmed_myArray = array_map('trim',$myArray); 
print_r($trimmed_myArray); 
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" 
} 
0

當你的字符串值分隔符是可變的,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', 
) 

這是一個乾淨的解決方案,因爲它不需要任何字符串準備或拆分後反覆 「掃蕩」。一個函數調用就完成了。

該模式僅在逗號後面加上可選空間(?意味着零次或一次出現在前面的空間)時爆炸。