在php表中显示json内容

Dop*_*eAt 0 html php json html-table slim

我正在尝试在 php 表中显示 json 内容,但每次都出现错误。我有一些语法错误,无法弄清楚应该更改什么?

附注。尝试使用 Slim 框架构建它

这是我的代码:

<div class="data-table-wrapper">
<?php
    $myData = file_get_contents("http://ergast.com/api/f1/current.json");
    $myObject = json_decode($myData);
?>
    <table class="data-table">
        <thead>
            <tr>
                <td>Date</td>
                <td>Time</td>
                <td>Round</td>
                <td>Circuit</td>
                <td>Location</td>
            </tr>
        </thead>
        <?PHP
        foreach($myObject as $key=>$item);
        ?>
        <tr>
            <td><?PHP echo $item->Date; ?></td>
            <td><?PHP echo $item->Time; ?></td>
            <td><?PHP echo $item->Round; ?></td>
            <td><?PHP echo $item->Circuit; ?></td>
            <td><?PHP echo $item->Location; ?></td>
        </tr>
        <?PHP
            }
        ?>
    </table>
</div>
Run Code Online (Sandbox Code Playgroud)

我的错误是:

注意:未定义的属性:stdClass::$Date in C:\xampp\htdocs\challenge\app\view\challenge.php 第 38 行

注意:未定义的属性:stdClass::$Time in C:\xampp\htdocs\challenge\app\view\challenge.php 第 39 行

注意:未定义的属性:stdClass::$Round in C:\xampp\htdocs\challenge\app\view\challenge.php 第 40 行

注意:未定义的属性:stdClass::$Circuit in C:\xampp\htdocs\challenge\app\view\challenge.php 第 41 行

jag*_*itg 5

json与代码相比,我刚刚查看了您的格式。映射到 的路径json不正确。我已经纠正了下面的问题;

请查看以下内容:

PHP代码

$myData = file_get_contents("http://ergast.com/api/f1/current.json");
$myObject = json_decode($myData);
$myObjectMap = $myObject->MRData->RaceTable->Races;
Run Code Online (Sandbox Code Playgroud)

对于每种格式

  <?php foreach($myObjectMap as $key => $item): ?>
    <tr>
      <td><?PHP echo $item->date; ?></td>
      <td><?PHP echo $item->time; ?></td>
      <td><?PHP echo $item->round; ?></td>
      <td><?PHP echo $item->Circuit->circuitId; ?></td>
      <td><?PHP echo $item->Circuit->Location->country; ?></td>
    </tr>
  <?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)

完整代码:

<html>
<head>
  <title>PHP</title>
</head>
<body>
  <?php
    $myData = file_get_contents("http://ergast.com/api/f1/current.json");
    $myObject = json_decode($myData);
    $myObjectMap = $myObject->MRData->RaceTable->Races;
  ?>
  <table>
    <thead>
      <tr>
        <td>Date</td>
        <td>Time</td>
        <td>Round</td>
        <td>Circuit</td>
        <td>Location</td>
      </tr>
    </thead>
    <tbody>
      <?php foreach($myObjectMap as $key => $item): ?>
        <tr>
          <td><?PHP echo $item->date; ?></td>
          <td><?PHP echo $item->time; ?></td>
          <td><?PHP echo $item->round; ?></td>
          <td><?PHP echo $item->Circuit->circuitId; ?></td>
          <td><?PHP echo $item->Circuit->Location->country; ?></td>
        </tr>
      <?php endforeach; ?>
    </tbody>
  </table>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)