我有一个来自REST API的嵌套Json数据。我有一个foreach循环,尝试获取所有“纸张”数据,但是由于某种原因,它无法正常工作。如何获取所有数据并显示在表格中?
我创建的foreach方法尝试遍历所有“纸张”数据并回显所有纸张数据的值。运行此循环时,出现错误
警告:第8行上的字符串偏移量'paper'非法
这是json代码:
{
"status":true,
"message":"",
"errors":[
],
"paper":[
{
"id":"646473",
"paperId":"2758110",
"paperNumber":"2961517831"
},
{
"id":"6536363",
"paperId":"6376363",
"paperNumber":"6373774733"
}
]
}
我的foreach循环
<?php
$url = '....';
$data = file_get_contents($url);
$characters = json_decode($data, true);
foreach ($characters as $character) {
echo 'Online: '. $character['paper'][0]['paperNumber'];
}
预期结果
PaperNumber: 2961517831
PaperNumber: 6373774733
答案 0 :(得分:0)
问题是您的循环当前将在JSON中的每个项目上运行,因此它将首先查看status
,然后查看message
。由于这些项目是简单的字符串,因此会出现错误
警告:第8行上的字符串偏移量'paper'非法
相反,您需要遍历项目paper
作为起点,而不是稍后尝试提取它们(使用$characters['paper']
)...
foreach ($characters['paper'] as $character) {
echo 'Online: '. $character['paperNumber'];
}