- 締切済み
xmlからphpで出力したデータをソートするアンカーを設けたい
phpを使用し、WEBサービスで情報を取得して、foreachでデータを表示しています。 表示したデータについて、たとえばアマゾンのWEBサービスであれば、「価格でソート」、という文言をいれ、 それをクリックすると、ソートされる、という風にしたいと思っています。 <?php $url = "http://~~~~~~"; $params = "?~~~~~ $data = file_get_contents($url . $params); $data = str_replace(~~~,~~~, $data); $xml = simplexml_load_string($data); foreach ($xml->AAA as $aaa) { echo $aaa->ABC . "<br>"; echo $aaa->BBB->Price . "<br>"; } ?> というソースですが、「Priceでソート」というクリック可能なアンカーを挿入したいとき、どこにどのように書けばいいのでしょうか? asort、array_multisort とかを使えばいい、というところまで調べていますが、行き詰っています。 また、手法としては、 (1)取得したxmlデータを保持して、並べ替えるだけ (2)前述のソースを再利用し、再度xmlを取得しなおし、ただしそのときにソートの条件を付け加える のどちらかになるのでしょうか。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hogehoge78
- ベストアンサー率80% (433/539)
foreach ($xml->AAA as $aaa) { echo $aaa->ABC . "<br>"; echo $aaa->BBB->Price . "<br>"; } ここの部分を、 $result = array(); foreach($xml->AAA as $aaa){ $result[] = array('id'=>$aaa->ABC, 'price'=>$aaa->BBB->Price); } といった感じで配列に書き出して、ソレを、asortなりarray_multisortなりで並べ替えればよいのではないでしょうか。