PHP通过删除空键来简化json数组

时间:2017-12-27 17:39:48

标签: php

我需要从数组中获取数据,但输出总是不同的,所以有时它会有更多的空键等。

    $id = "1";
    $url = file_get_contents("http://example.com/?api={$id}");
    $json = json_decode($url, true);

    foreach($json as $data)
    {
        echo $data[0][0]["test"];
    }

问题是要从中打印值必须始终将空键的数量设置为echo $data[0][0]["test"];

无论有多少空键,如何才能在任何情况下只编写echo $data["test"];

编辑: json数组

[
    [
        {
            "test: "testing"
        }
    ]
]

3 个答案:

答案 0 :(得分:4)

 function printValue($array)
    foreach($array as $value){
     if(is_array($value)){
       printValue($value) 
     }
     else 
       echo $value;
  }
}

基本上是一个递归函数,如果值是array挖掘它,否则打​​印该值。

这适用于所有深度,无论是二级还是四级。

答案 1 :(得分:-1)

您可以创建递归函数以搜索密钥并将其返回:

<img :src="topmostArticle[0].topnews[0].img">

答案 2 :(得分:-3)

只需再使用一次json_decode。  示例:$ json = json_decode(json_decode($ url));