带有多个分隔符的PHP数组

时间:2012-10-30 22:34:22

标签: php arrays explode

  

可能重复:
  JSON Parsing with PHP

我希望对此有所帮助。我试着拿走$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);

这给了我这样的东西:

  

数组([0] => [[1] =>“产品”[2] =>“1 [3] => 1”[4] =>“等级”   [5] => “1”

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

2 个答案:

答案 0 :(得分:1)

首先,使用json_decode($data,TRUE),这将使您的生活更轻松,为您提供更好的数组,以便根据您的需要进行转换。

答案 1 :(得分:1)

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

$data = json_decode($data);

然后你想迭代对象数组并对它们进行变换:

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