2012-02-03 188 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