2011-09-08 11 views
2

私はこのような文字列を持っていると言います。文字列を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 apple 01 pear 02 peach"の代わりに "00 apple 01 paper 02 red"に終わる。何らかの事前分類が必要ですか? – 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; 
    } 
} 

は、あなたが好きなことが出てくるにするために役立つかもしれません。 (私はテストして、それは私のために動作します;))

関連する問題