php – json decode – 从对象获取单个数组?

我有一个json文件,我使用json_decode解码. json文件是一个包含两个数组的对象.我只想要第一个阵列,但我无法弄清楚如何.

Json文件

{
   "app":{
      "available":{
         "stats":[
            {
               "name":"the name",
               "at":"url"
            },
            {
               "name":"the name",
               "at":"url"
            }
         ],
         "stats2":[
            {
               "name":"the name",
               "at":"url"
            },
            {
               "name":"the name",
               "at":"url"
            }
         ]
      }
   }
}

我用

foreach($data3['app']['available'] as $name => $value)
{
    foreach($value as $entry)
    {
        echo $entry['name'];
    }
}

输出我从stats1和stats2数组得到每个名字.我只想要stats1数组的名字,而不是stats2.怎么能实现这一目标?

最佳答案 因为app->中有两个数组:stats和stats2

如果您只对统计数据感兴趣,为什么不尝试:

foreach($data3['app']['available']['stats'] as $name => $value)

__UPDATE__

请试试这个

$in = '{"app":{"available":{"stats": [{"name":"the name","at":"url"},{"name":"the name", "at":"url"}],"stats2":[{"name":"the name","at":"url"},{"name":"the name","at":"url"}]}}}';

$obj = (array) json_decode($in, true);

foreach($obj['app']['available']['stats'] as $value)
{
foreach($value as $e => $v)
    {
     echo ($value['name'] );
     echo ("\r");
    }

}
点赞