<< Zend_Feed | main | AS3.0アプリでのパラメータ受け渡し >>

2008.04.08 Tuesday

RSSをソート

RSSをソートする方法を考えてみます。

まず、RSSをパースする必要があります。
これには、Zend_FeedやMagpieRSSなどを使えば簡単に出来ます。
分からない方は、このブログにも書いてありますので、参考にしてください。

一度配列に格納しなおす方法を使っているので、ソート機能のないウェブサービスのXMLデータをソートする場合にも使えます。

--

--

パースしたRSSデータを以下のように配列に格納しなおします。

$data[] = array('date' => 67, 'title' => 'A', 'desc'=>'D1');
$data[] = array('date' => 86, 'title' => 'B', 'desc'=>'D2');
$data[] = array('date' => 85, 'title' => 'C', 'desc'=>'D3');
$data[] = array('date' => 98, 'title' => 'D', 'desc'=>'D4');
$data[] = array('date' => 86, 'title' => 'E', 'desc'=>'D5');
$data[] = array('date' => 67, 'title' => 'F', 'desc'=>'D6');

ここではサンプルとして単純データを追加していますが、
実際には、各RSSパーサーのアクセスメソッドがあるはずなので、それを使って配列に追加していくことになります。

次にソート関数を用意します。
uasort
このページにmultisortという関数が紹介されているので、これを使うのが一番簡単です。

print "<pre>";print_r(multisort($data, "'date'", true));print "</pre>\n";

こうすると、dateをキーとして日付の古い順にソートできます。
trueをfalseにすれば、新しい順にソートできます。

また、ソートキー名をtitleにすれば、タイトルの降順、昇順ソートも出来るので、好きなようにソートできますね。

--

テクノラティお気に入りに追加する

Comments

コメント入力は停止しています

海外からと思われるコメントスパムが横行しているため、全記事のコメント入力を停止しています。メッセージのある方は、ホームページの一番下に連絡欄がありますので、そちらからお願いします。

Trackback URL

トラックバックする場合は、
トラックバック元の記事にこのエントリへのリンクを記載してください
このエントリのタイトル「RSSをソート」
このエントリのリンク「http://kommy.s254.xrea.com/blog/log/eid69.html」