1

我的问题可能看起来有点傻,但我正在编写一个从给定数据输出 HTML 表格的对象。给定的数据是一个 json 编码的字符串,其中包含这些标头数组和数据对象:

例如:

{
    "header":["id","fname","lname","position"],
    "data":{
        "0":{"position":"Developer","fname":"Tom","lname":"Jones","id":12},
        "1":{"position":"UI Designer","fname":"John","lname":"Smith","id":18},
        "2":{"position":"UX Specialist","fname":"Farid","lname":"Rn","id":110}
    }
}

问题是数据的顺序与标题不同。

我想使用标头数组作为参考,并按它对每一行数据对象进行排序。那可能吗?

4

1 回答 1

1

当然!使用外部和内部循环。外部循环遍历数据元素,内部循环遍历标题列表。对于标题列表中的每一项,从数据项中的关联数组中获取它的值。

伪代码:

foreach ($thing->data as $item) {
    // here would be a good place for the <tr>
    foreach ($thing->header as $header) {
        $dataforheader = $item->$header;
        // do something, maybe output a <td>
    }
}

现在,您还可以将其放入备用数据结构中进行排序。

于 2013-04-01T17:49:40.580 回答