2014-03-30 24 views
0

因爲每個人都知道爆炸適用於與結果匹配的任何字符。由任何塊內的最後一個匹配字符爆炸

我想做出同樣的效果,但最後匹配內部塊的元素。

例如

$explodeMe = ' [ [ [ 1, 2, 3, 4 ] ] ] , [ [ [ 5 , 6, 7, 8 ] ] ]'; 

$explodeMe = explode(']' , $explodeMe); 

//這會爆炸$ explodeMe 6次(對每個]字符)

我想爆炸它對於每個塊(在該實施例2倍)[[[]]] [[[]]]

so:

如果塊打開1 [ (.*) ]它會爆炸它與第一個]

如果該塊是由2 [[ (.*) ]]開放其將與所述第二]

爆炸,如果該塊是開放由3 [[[ (.*) ]]]它將與第三]

也許爆炸認爲計數[函數[性格和這個值查找最後

]]] 
^

這是沒有功能的語法:

$explodeMe = explode(myFuntionToLookForTheLastElementForEachBlock(']') , $explodeMe); 

任何想法?

+0

或者可能找不到任何]元素不存在]之前 – puaction

+0

你想要的輸出是什麼? – CodeBird

+0

爲什麼不在'',''或']上爆炸你的字符串,['在使你的頭變得複雜的地方'''等等...? – CodeBird

回答

0

聽起來對我來說,就像你想解析這個結構化數據的刺痛並從它構建一個多層次的數組。你給我們提供了一些你想要「爆炸」的數據的例子,在這種情況下它類似於JSON。

如果您確定這是您需要處理的所有數據的外觀,那麼讀取此數據的最簡單方法是json_decode('['.$explodeMe.']', true),並從中繼續處理結果數組。

+0

不是我在找什麼,但我學到了新的東西:) – puaction