2010-12-16 16 views
1

を正規化:PHP - このような配列がある場合は、ユーザの入力配列

array 
    0 => string '62 52, 53' (length=9) 
    1 => string '54' (length=2) 

をそれは、ユーザの入力からだ、とあなたは、彼らが入るか/何を知っていることはありません。)

私は終わりにしたい何がありますこの:

array 
    0 => string '62' (length=2) 
    1 => string '52' (length=2) 
    2 => string '53' (length=2) 
    3 => string '54' (length=2) 

は、ここで私はそれを行う方法は次のとおりです。

$string = implode(',', $array); 
    $string = str_replace(', ', ',', $string); 
    $string = str_replace(' ', ',', $string); 
    $array = explode(',', $string); 

本当に厄介なようだ。よりエレガントな方法がありますか? 1つはおそらくより良いパフォーマンスを持っていますか?各文字列で

答えて

4

preg_match_all("/[ ,]*(\d+)[ ,]*/", $list, $matches); 

次にあなたがpreg_splitarray_merge(PHP 4、PHP 5)を使用することもできます番号

2

わかりませんあなたは文字列にすべてを結合した後に正規表現を使って数字だけを取得することができます。

$string = implode(' ', $array); 
preg_match_all('/\d+/', $string, $matches); 
print_r($matches[0]); 
関連する問題