首页 > 解决方案 > 以表格格式显示 Php (json) 输出

问题描述

我是 Wordpress 插件开发的新手,写了一个函数,请求数据的 url 并以 Json 格式获取相同的,函数片段如下;

function user_det()
{
$em = '';
$url = ''.$em;
$myhtml = wp_remote_retrieve_body( wp_remote_get($url, array( 'timeout'=>120)));
echo '<pre>' , print_r($myhtml) , '</pre>';
}

输出:

{

"Status":"Success",
"Bookings":[
    {
        "Message":"",
        "Detail":{
            "ServiceType":"",
            "HoName":"",
            "HAddress1":"",
            "ToRooms":"",
            "RoDetail":[
                {
                    "RoomTypeDescription":[
                        " "
                    ],
                    "NumberOfRooms":"",
                    "Passengers":[
                        {
                            "Salutations":"",
                            "FirstName":"",
                            "LastName":""                         
                        },
                        {
                            "Salutations":"",

                            "Age":"",
                            "CotBedOption":""
                        }
                    ],
                    "totalAdult":2,
                    "totalChild":0
                }
            ],
            "Phone":"-",
            "Rating":"",
            "email":""
        }
    }]}

但是,有没有办法可以以表格格式显示数据,尝试在线搜索但无法理解

标签: phpwordpress

解决方案


当您从 API 请求中获取 JSON 格式的信息时,您需要迭代每个元素以按照您想要的方式格式化,例如使用此信息构建表。

$myhtml = wp_remote_retrieve_body( wp_remote_get($url, array( 'timeout'=>120)));
$dataArray = json_decode($myhtml,1);
echo '<table>';
echo '<thead><tr><th>Service Type</th></tr></thead>';
echo '<tbody>';
// Now we have the json converted into an array, let's iterate it
foreach($dataArray["Bookings"] as $idx=>$bookingData) {
    // Iterate all bookings and write on the rows
    echo '<tr>';
        echo '<td>'.$bookingData['Detail']['ServiceType'].'</td>';
    echo '</tr>';
}
echo '</tbody><table>';

我相信这可以让您了解获取对象和构建表格所需执行的操作。


推荐阅读