2012-02-03 125 views
1

我有一個字符串解析字符串數組

$str = "recordsArray[]=3&recordsArray[]=1"; 

有沒有什麼簡單的辦法,使這個比爆炸 此字符串在&其它的陣列? IM預期結果像這樣print_r($str);

//expecting output 
array('0' => '3','1' => '1'); 
+1

看起來更像是一個正則表達式將更好地工作,然後反序列化。沒有任何內容可能會在您的問題中被序列化。 – canadiancreed 2012-02-03 05:26:18

+0

你也可以使用'parse_str()' – mario 2012-02-03 05:28:02

+0

可能的重複[如何分割一個字符串?](http://stackoverflow.com/questions/5788178/how-can-i-split-a-string) – mario 2012-02-03 05:32:08

回答

7

是的,有:parse_strDocs;示例(Demo):

parse_str("recordsArray[]=3&recordsArray[]=1", $test); 
print_r($test); 
+0

parse_str ( 「recordsArray [] = 3&recordsArray [] = 1」,$ STR); print_r($ str); exit; //工作:) – coolguy 2012-02-03 05:33:20

2

使用preg_match_all這樣的:

$str = "recordsArray[]=3&recordsArray[]=1"; 
if (preg_match_all('~\[\]=(\d+)~i', $str, $m)) 
    print_r ($m[1]); 

OUTPUT:

Array 
(
    [0] => 3 
    [1] => 1 
) 
+0

+1謝謝你的工作! ..但我更喜歡亞歷克斯的答案..簡單 – coolguy 2012-02-03 05:35:40