ITPub博客

首页 > IT职业 > IT生活 > 廣告依照頻率顯示寫法

廣告依照頻率顯示寫法

原创 IT生活 作者:yeahokay 时间:2007-07-07 09:51:56 0 删除 编辑
假設我現在有10張廣告圖片頁面顯示是3張(從10張中亂數選3張),然後我希望10張中的某一張出現的頻率比其他9張出現的頻率還要高,這樣要怎麼寫也不知道是要從sql語法下手,還是從程式的部分下手……[@more@]

寫了一個例子


123345 表示 加權數
aa bb cc dd ee 表示圖片

原理就是依加權數把所有的資料存入一個array中,
所以加權數愈多,
表示存在array的重覆性資料愈多,
再用shuffle對此 array rand,
取第一筆,
即可達到你要的 ^^


$rate = array(
"1" => "aa",
"2" => "bb",
"3" => "cc",
"4" => "dd",
"5" => "ee"
);

while(list($key,$val) = @each($rate))
for($i=0;$i<$key;$i++) $rates[] = $val;

showary($rates);

shuffle($rates);

showary($rates);


function showary($ary){
echo "

";
print_r($ary);
echo "
";
}
?>



array result :
shuffle 前 array
Array
(
[0] => aa
[1] => bb
[2] => bb
[3] => cc
[4] => cc
[5] => cc
[6] => dd
[7] => dd
[8] => dd
[9] => dd
[10] => ee
[11] => ee
[12] => ee
[13] => ee
[14] => ee
)

shuffle 後 array
Array
(
    [0] => ee
[1] => ee
[2] => bb
[3] => ee
[4] => cc
[5] => bb
[6] => aa
[7] => dd
[8] => dd
[9] => cc
[10] => ee
[11] => dd
[12] => cc
[13] => dd
[14] => ee
)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/786540/viewspace-925063/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    140
  • 访问量
    1115933