我正在尝试使用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;
}
答案 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;
}
}