如何从PHP中的多个JSON数组中获取表行?

时间:2017-03-10 21:22:41

标签: php html arrays json api

使用API​​我在多个阵列中获得JSON响应。我需要在HTML表格中显示响应。但由于我是PHP-JSON的新手,我无法找到一种方法。

API致电

    $url="https://api.domain.com/getdata.php?format=json&token=2455445444&type=ROWS";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($ch, CURLOPT_HTTPGET, true);


    $output = curl_exec($ch);
    curl_close($ch);    
    $json = json_decode($output, true);

    $resCode = $json['resCode'];
    $resText = $json['resText'];

    //Multiple response

    $column1 = $json['data']['ROWS'][0]['column1'];
    $column2 = $json['data']['ROWS'][0]['column2'];
    $column3 = $json['data']['ROWS'][0]['column3'];
    $column4 = $json['data']['ROWS'][0]['column4'];  

来自API的JSON响应

{
    "data":{

        "ROWS": [
                    {
                        "column1":"123",
                        "column2":"456",
                        "column3":"789",
                        "column4":"054"
                    },
                    {
                        "column1":"775",
                        "column2":"545",
                        "column3":"647",
                        "column4":"745"
                    },
                    {
                        "column1":"440",
                        "column2":"544",
                        "column3":"745",
                        "column4":"999"
                    }
                ]
        },

    "resCode":"200",
    "resText":"SUCCESS"

}
  

我需要显示如下的响应。我该怎么办?

HTML

<table border="1" width="50%" align="center">
<tr>
  <th>Column 1</th>
  <th>Column 2</th>
  <th>Column 3</th>
  <th>Column 4</th>
</tr>
<!-- Display the JSON array response here -->
<!-- Example below -->
<tr>
  <td>123</td>
  <td>456</td>
  <td>789</td>
  <td>054</td>
</tr>
<tr>
  <td>775</td>
  <td>545</td>
  <td>647</td>
  <td>745</td>
</tr>
<tr>
  <td>440</td>
  <td>544</td>
  <td>745</td>
  <td>999</td>
</tr>
</table>

1 个答案:

答案 0 :(得分:0)

使用foreach迭代所有行

echo "<table border="1" width="50%" align="center">";
foreach($json['data']['ROWS'] as $data)
{
echo "<tr>";
foreach($data as $key=>$value)
echo "<td>$value</td>";
echo "</tr>";

}