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 に答える