●シャッフル表示
まず、
$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
となるのは、明らかに作為的でランダムとはいえません。
あくまでも、技術的に見れば、の話ですが。
製品としては、後者の方がユーザークレームを受けにくいので、あえて後者の仕様になっている製品の方が多いです。
--
$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
コメント入力は停止しています
海外からと思われるコメントスパムが横行しているため、全記事のコメント入力を停止しています。メッセージのある方は、ホームページの一番下に連絡欄がありますので、そちらからお願いします。