首页 > 解决方案 > 将文本从 json 对象替换为 php

问题描述

这是我从第 3 方页面提取数据的 json。
http://freerdarts.com/api/tues_standings_api_2019.php

我正在将数据格式化成这样的表格。

<table class="tbl_container" id="standings">
  <thead>
    <tr>
      <th>TEAM</th>
      <th>WIN %</th>
      <th>GAMES</th>
      <th>WON</th>
    </tr>
  </thead>
  <tbody>
    <?php
      foreach($standings as $row):
      ?>
    <tr>
      <td><?=$row['team'];?></td>
      <td><?=$row['win%'];?></td>
      <td><?=$row['games'];?></td>
      <td><?=$row['wins'];?></td>
    </tr>
    <?php endforeach;?>
  </tbody>
</table>

所以在第一个 td 'team' 下它插入了 10 支球队,但我希望能够用球员姓名而不是 'Team 01' 或 'Team 02' 等替换数据......对于每一个,它都会拉我需要替换人名。

标签: phparraysjson

解决方案


您可能需要像这样定义玩家:

$players = [
   '01' => [
       'name1',
       'name2',
       'name3',
   ],
   '02' => [
       'name1',
       'name2',
       'name3',
   ],
];

然后读取数组如下:

<tbody>
    <?php 
        foreach($standings as $row):
        $team_number = explode(' ', $row['team'])[1]; 
        ?>
        <tr>
           <td><?=implode(',', $players[$team_number]);?></td>
           <td><?=$row['win%'];?></td>
           <td><?=$row['games'];?></td>
           <td><?=$row['wins'];?></td>
        </tr>
    <?php endforeach;?>
</tbody>

推荐阅读