我的问题可能看起来有点傻但我正在编写一个从给定数据输出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}
}
}
问题是数据的排序与标题不同。
我想使用头数组作为引用,并按它对数据对象的每一行进行排序。这可能吗?
答案 0 :(得分: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>
}
}
现在,您还可以将其放入备用数据结构中进行排序。