• 締切済み

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を取得しなおし、ただしそのときにソートの条件を付け加える のどちらかになるのでしょうか。

みんなの回答

回答No.1

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なりで並べ替えればよいのではないでしょうか。

関連するQ&A