我试图从json文件中列出每个'name'条目。但是我不断为每个父母复制相同的条目几次。例如'Name'返回DennisDennisDennisDennis。我无法删除[3](或其中的任何数字),因为那时我的页面将变为空白。我下次在json中列出每个名字时如何对其进行编码?这是我的代码:
$opts = array(
'http'=>array(
'header'=>"X-AUTH-TOKEN: 41e509ad68f0......"
)
);
$context = stream_context_create($opts);
$url = 'workingurlhere';
$data = file_get_contents($url, true, $context);
$result = json_decode($data);
foreach ($result as $all){
echo $result -> data[3] -> Name;
}
?>
答案 0 :(得分:1)
你只需要引用$ all not $ result。
foreach ($result as $all){
echo $all -> data[3] -> Name;
}
答案 1 :(得分:1)
由于我不知道json的结构,这是半猜和半本能。
foreach ($result as $all){
echo $all -> data[3] -> Name;
}
或者,如果您需要循环data
本身:
foreach ($result->data as $entry){
echo $entry -> Name;
}
答案 2 :(得分:1)
您的问题是您始终引用原始数组$result
。所以你总会得到相同的结果。
foreach ($result as $all){
echo $result->data[3]->Name; // Always printing the same index.
}
我估计猜测以下内容可能会有效,但如果没有看到$result
中的数据,我就无法100%确定。
foreach ($result->data as $values){
echo $values->Name;
}
如果这不起作用,可能值得使用$result
包含的内容编辑原始问题。