<< ソフトウェアエクスプローラ | main | PEAR:XML_Parser >>

2007.02.16 Friday

シャッフル表示

左サイドバーのAmazon表示エリアをシャッフル対応してみました。
やり方は簡単です。
まず、
$arraySearchIndex = array('Books','Music','Electronics','DVD','VideoGames');
$arrayBrowseNode = array('465610','562032','3210991','562002','637872');
配列を定義しておきます。
二つの配列の配列番号のアイテムは同じものを指すようにしておかないといけません。
次に、シャッフル処理
srand((double)microtime()*10000000);
$an = array_rand($arraySearchIndex);
これで、$anに0から4までの値がランダムに入ります。
配列の番号ですね。
そうしたら、配列定義済みの配列から値を取り出すだけです。
$SearchIndex = $arraySearchIndex[$an];
$BrowseNode = $arrayBrowseNode[$an];
これで、$SearchIndex,$BrowseNodeには、ランダムな値で二つの変数の値は同じジャンルをさすことになります。

これをリクエスト時に指定すればOKです。

あと、よく誤解されるのですが、
2→1→3→3→3→5
とかなると、ランダムじゃないじゃないか、とか言う人がいますが、
それは間違っています。
これが、無作為抽出の基本的概念です。
逆に、
2→1→5→3→4
となるのは、明らかに作為的でランダムとはいえません。
あくまでも、技術的に見れば、の話ですが。

製品としては、後者の方がユーザークレームを受けにくいので、あえて後者の仕様になっている製品の方が多いです。

--

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

Comments

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

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

Trackback URL

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