2011-09-08 173 views
2

可以說我有這樣的字符串。將一個字符串分解成一個二維數組

蘋果:紙:紅色,梨:岩石:藍色,桃:剪刀:綠色

你會如何爆發成一個多維數組呢?你能做一個嵌套的分割循環嗎?像逗號分割字符串,然後再次在循環內的冒號。你如何以這種方式使用爆炸?我必須失去一些明顯的東西。最終結果應該是這樣的。

[0] [0] =蘋果[0] [1] =梨[0] [2] =桃

[1] [0] =紙[1] [1] =岩石[1 ] [2] =剪刀

[2] [0] =紅[2] [1] =藍[2] [2] =綠色

感謝。

回答

8

您可以撥打爆炸多次:

$string = 'apple:paper:red,pear:rock:blue,peach:scissors:green'; 
$result = array(); 
foreach (explode(',', $string) as $piece) { 
    $result[] = explode(':', $piece); 
} 
+0

這會將字符串拆分爲2d數組,但內容不會按照所需方式排序。最終以「00蘋果01紙02紅」代替「00蘋果01梨02桃」。需要某種預先排序嗎? – oljones

0

這給一展身手:

$string = 'apple:paper:red,pear:rock:blue,peach:scissors:green'; 
foreach (explode(',', $string) as $key=>$piece) { 
    foreach (explode(':', $piece) as $k=>$column) { 
    $result[$key][$k] = $column; 
    } 
} 

可能有助於使出來,只要你想。 (我已經測試過,並且適用於我;))

相關問題