2013-11-22 49 views
0

我使用PHP來嘗試解析字符串匹配這種模式的名稱:解析multidimensionnal陣列

field[foo][bar]

我用preg_match_all得到陣列(「富」和索引「吧' 在這種情況下)。這裏是我的代碼,但它不工作:

preg_match_all("/\w+(\[(\w*)\])*/", $string, $matches);

而且我得到這些比賽:

 
array 

    (3) { 
     [0]=> 
     array(1) { 
     [0]=> string(15) "field[foo][bar]" 
     } 
     [1]=> 
     array(1) { 
     [0]=> string(5) "[bar]" 
     } 
     [2]=> 
     array(1) { 
     [0]=> string(3) "bar" 
     } 
    } 

,我想這樣的事情:

 

    array(3) { 
     [0]=> 
     array(1) { 
     [0]=> string(15) "field[foo][bar]" 
     } 
     [1]=> 
     array(1) { 
     [0]=> string(5) "[foo]" 
     [0]=> string(5) "[bar]" 
     } 
     [2]=> 
     array(1) { 
     [0]=> string(3) "foo" 
     [0]=> string(3) "bar" 
     } 
    } 

(實際上,我只對最後一個數組感興趣,沒有方括號)

我不知道爲什麼我只得到最後一場比賽...

任何想法? :)

回答

0

有一試:

preg_match_all("/(\[(\w*)\])/", $string, $matches); 
+0

這麼簡單! >。<謝謝! :) – Angelo

+0

@安傑洛:不客氣。 – Toto