-1
我有这段代码在Chrome浏览器上显示一个错误。为foreach提供的参数错误php
<?php
$json = file_get_contents("file.json");
$data = json_decode($json, TRUE);
?>
<html>
<?php include 'cab.php'; ?>
<body>
<?php include 'menu.php'; ?>
<div class="container">
<table border="1" class="table table-striped table-hover" id="tbl">
<tr>
<td><strong>Data de publicação</strong></td>
<td><strong>Empresa Contratada</strong></td>
<td><strong>Empresa que Contratou</strong></td>
<td><strong>ID</strong></td>
<td><strong>Objecto adquirido</strong></td>
<td><strong>Preço Contratual</strong></td>
<td><strong>Data do Contrato</strong></td>
</tr>
<?php foreach ($data as $item) : ?>
<tr>
<td><?php echo $item->{'publicationDate'}; ?></td>
<td><?php echo $item->{'contracted'}; ?></td>
<td><?php echo $item->{'contracting'}; ?></td>
<td><?php echo $item->{'id'}; ?></td>
<td><?php echo $item->{'objectBriefDescription'}; ?></td>
<td><?php echo $item->{'initialContractualPrice'}; ?></td>
<td><?php echo $item->{'signingDate'}; ?></td>
</tr>
<?php endforeach; ?>
</table>
</div>
<?php include 'rodape.php';?>
</body>
</html>
,显示在Chrome的错误是:
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\base2\index.php on line 27
有人可以帮我解决吗?
该文件使用json文件并在html表中显示所有信息。
'foreach'预计参数是数组或对象。 '$ data'不是都不是。所以检查'json_decode()'的返回值。如果它是'NULL',那么检查'file_get_contents()'的返回值。如果它是'FALSE',那么检查URL是否存在,等等......道德:**永远不要假设成功**。 –
做一个var_dump($ data);你json_decode后,并监视结果..它真的工作 –
你可以添加'var_dump($ data)'的输出吗? – Girish