仅显示数组中最后一个JSON文件的数据

时间:2016-05-24 16:48:23

标签: php json

我正在尝试使用JSON显示来自多个array文件的数据。

使用下面的代码时,仅显示数组中最后一个文件的数据。如何确保显示阵列中所有文件的数据?

如果我更改JSON文件的顺序,仍然只显示数组中最后一个文件的数据。

数组:

$homepage   = array();
$homepage[] = "http://linktojson.com/1/";
$homepage[] = "http://linktojson.com/2/";
$homepage[] = "http://linktojson.com/3/";
$homepage[] = "http://linktojson.com/4/";
$homepage[] = "http://linktojson.com/5/";

然后我从数组中的文件中获取内容并对其进行解码:

foreach ($homepage as $homepage2) {
    $data = json_decode(file_get_contents($homepage2, false));
}

最后,回显数组中每个文件的值ID

foreach ($data->Content->Catalog as $each) {
    echo $each->ID;
}

2 个答案:

答案 0 :(得分:0)

您在$data循环的每次迭代中覆盖foreach。它只记住最后一次迭代。

您需要将$data评估代码放在第一个foreach循环中:

foreach ($homepage as $homepage2) {
    $data = json_decode(file_get_contents($homepage2, false));
    foreach($data->Content->Catalog as $each){
        echo $each->ID;
    }
}

答案 1 :(得分:0)

您在第一个$data循环的每次迭代时覆盖foreach。如果在第一个循环内移动第二个循环,您将看到每个文件中的ID。

foreach ($homepage as $homepage2) {
    $data = json_decode(file_get_contents($homepage2, false));
    foreach($data->Content->Catalog as $each){
        echo $each->ID;
    }
}