-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