2012-10-30 113 views
1

可能重复:
JSON Parsing with PHPPHP阵列与多个分隔符

我希望对这个有点帮助。我试图采取什么是我的$data变量:

[{"Product":"Internal", 
    "Rank":"1", 
    "Number":"1234"}, 
{"Product":"External", 
"Rank":"1", 
"Number":"5678"}] 

,并把它变成一个关联数组是这样的:

Product[0] => Internal, 
Rank[0] => 1, 
Number[0] => 1234, 
Product[1] => External, 
Rank[1] => 1, 
Number[1] => 5678 

我已经能够使用以下来获得最接近代码:

$del='/[{: ,}]/'; 
$data = preg_split($del,$data); 
print_r($data); 

,给了我这样的事情:

Array [(0] => [[1] =>“Product”[2] =>“1 [3] => 1”[4] =>“Rank” [5] =>“1”

任何建议将不胜感激。谢谢你的时间!

+1

输入数据在JSON中。有一个函数可以做你想做的事,'json_decode':检查它。 – LSerni

回答

1

如果你知道$data是JSON格式,你可能只是这样做:

$data = json_decode($data); 

然后你想通过对象的数组迭代和transmogrify他们:

$output = array(); 
foreach($data as $index=>$object) { 
    foreach($object as $name=>$value) { 
     $output[$name][$index] = $value; 
    } 
} 
+0

完美!非常感谢您的帮助! – Jesse

1

首先,使用json_decode($data,TRUE),这会让你的生活更轻松,为你提供很好的阵列来改变你想要的东西。