【发布时间】:2015-11-03 14:30:09
【问题描述】:
您好,我是 PHP 新手,但已成功满足我的要求:
我试图只显示 JSON 解码对象的一部分。我已将对象称为$Results。
我可以成功使用var_dump ($Results);,然后得到完整的结果如下:
object(stdClass)[2]
public '0' =>
object(stdClass)[3]
public 'forename_1' => string 'JAMES' (length=5)
public 'middle1_1' => string '' (length=0)
public 'middle2_1' => string '' (length=0)
public 'middle3_1' => string '' (length=0)
public 'surname_1' => string 'TURNER' (length=7)
public 'Status' => int 100
然后我使用以下代码将其插入到表中:
<html>
<form id="client-details" action="/details.php" method="post">
<table>
<thead>
<tr>
<th>First Name</th>
<th>Surname</th>
<th>Search</th>
</tr>
</thead>
<?php foreach($Results as $o):?>
<tr>
<td id="forename"><?= $o->forename_1 ?></td>
<td id="surname"><?= $o->surname_1 ?></td>
<td><button type="submit" >More Info</button></td>
</tr>
<?php endforeach; ?>
</table></form>
</html>
问题出在这里 当我显示结果时,出现以下错误: “注意:试图获取非对象的属性..”
这似乎是因为我试图运行对象的public 'Status' => int 100 部分。
所以我的问题是: 如何阻止表格尝试填充该“状态”或如何完全忽略它?
编辑:
如果我愿意,我可以从 json_decode 获得结果作为关联数组而不是对象......这会帮助我忽略“状态”数组/对象吗?
【问题讨论】:
-
获取结果时查看代码
-
你的
var_dump只是显示$Result在0有另一个对象,所以你不能这样访问 -
@wilson - 我在获取结果时检查了代码:
$Results = json_decode($Results);我还可以通过说$Results=json_decode($Results, true);将 JSON 作为关联数组返回?