首页 > IT职业 > IT生活 > 廣告依照頻率顯示寫法
寫了一個例子
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 後 arrayArray
[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/ ,如需转载,请注明出处,否则将追究法律责任。