使用混合数据在Json文件中显示HTML页面上的数据。单个数据+数组

时间:2018-02-09 12:12:25

标签: php arrays json

您好我打电话并收到一个Json文件作为回报。该文件包含数组中的数据和数据。 现在我尝试将此数据列表到一个简单的表。我不知道如何在数组中显示数据。 地址数据位于数组

    <?php   
                      $data = file_get_contents("http://xxxxxxxx/service/v20/list?orgKey=xxxxxx");  
                      $data = json_decode($data, true);  
                      foreach($data as $row)  
                      {  

                        echo '<tr>
                        <td>'.$row["caseKey"].'</td>
                        <td>'.$row["caseNumber"].'</td>
                        <td>'.$row["officeId"].'</td>
                        <td>'.$row["status"].'</td>
                        <td>'.$row["propertyType"].'</td>
                        <td>'.$row["propertyClass"].'</td>
                        <td>'.$row["openHouseDate"].'</td>
                        <td>'.$row["openhouseSignupRequired"].'</td>
                        <td>'.$row["price"].'</td>
                        <td>'.$row["downPayment"].'</td>

                        <td>'.$row["monthlyOwnerExpenses"].'</td>
                        <td>'.$row["monthlyGrossPayment"].'</td>
                        <td>'.$row["monthlyNetPayment"].'</td>
                        <td>'.$row["daysForSale"].'</td>
                        <td>'.$row["priceReductionPercent"].'</td>
                        <td>'.$row["sizeArea"].'</td>
                        <td>'.$row["sizeLand"].'</td>
                        <td>'.$row["sizeBasement"].'</td>
                        <td>'.$row["sizePatio"].'</td>
                        <td>'.$row["sizeGarage"].'</td>


                        <td>'.$row["numberRooms"].'</td>
                        <td>'.$row["numberFloors"].'</td>
                        <td>'.$row["constructionYear"].'</td>
                        <td>'.$row["reconstructionYear"].'</td>
                        <td>'.$row["energyBrand"].'</td>
                        <td>'.$row["Header"].'</td>
                        <td>'.$row["Description"].'</td>
                        <td>'.$row["Tag"].'</td>

                        <td>'.$row["address"].'</td>  /* array type */
                        <td>'.$row["Address[0].Roadname"].'</td>
                        <td>'.$row["Address.Roadnumber"].'</td>
                        <td>'.$row["Address.Floor"].'</td>
                        <td>'.$row["Address.Door"].'</td>
                        <td>'.$row["Address.Zipcode"].'</td>
                        <td>'.$row["address.city"].'</td>
                        <td>'.$row["Address.placename"].'</td>

                        <td>'.$row["realtorName"].'</td>
                        <td>'.$row["realtorPhone"].'</td>
                        <td>'.$row["realtorEmail"].'</td>


                        <td><img src="'.$row["primaryPhoto"].'>"</td>
                        </tr>';

                      }  
                      ?>  

3 个答案:

答案 0 :(得分:0)

为什么不呢:

<td>'.$row["address"].'</td>

要:

<td>';  
foreach($row["address"] as $addr){
      echo $addr."<br>" ;       
}
echo '</td>

答案 1 :(得分:0)

你应该提供一个json的例子来提交你的问题。

我认为你的承诺就在这里:

<td>'.$row["Address[0].Roadname"].'</td>
<td>'.$row["Address.Roadnumber"].'</td>
<td>'.$row["Address.Floor"].'</td>
<td>'.$row["Address.Door"].'</td>
<td>'.$row["Address.Zipcode"].'</td>
<td>'.$row["address.city"].'</td>
<td>'.$row["Address.placename"].'</td>

如果要访问嵌套数组结构$ row [“Address [0] .Roadname”]应为:

$row["Address"][0]["Roadname"]

表示数组为:

[
    "Address" => [
        0 => ["Roadname" => "value"]
    ]
]

在您的示例中,您提供$ row [“Address.Roadnumber”]应该是:

$行[ “地址”] [ “Roadnumber”]

表示数组为:

[
    "Address" => [
        "Roadnumber" => "value"
    ]
]

答案 2 :(得分:0)

此代码可以很好地列出数组中的所有数据,但是我只需要数组中的部分数据

<td>';  
foreach($row["address"] as $addr){
      echo $addr."<br>" ;       
}
echo '</td>

我修改了下面的代码,并且可以正常显示数组的一部分。 我也意识到我的代码拼写错误/ Adress =&gt; adress / Roadname =&gt; roadname

感谢您的支持/ Tomas

<td>'.$row["address"]["roadname"].'</td>
<td>'.$row["address"]["roadnumber"].'</td>
<td>'.$row["address"]["zipcode"].'</td>
<td>'.$row["address"]["city"].'</td>