A. php 如何控制每天內的執行次數!比如抽獎活動一天只抽一次樣
這個很簡單的。
第一種、需要登錄。
資料庫用戶表中增加一個欄位,或直接新增一張表(id, uid,time等)都可以,記錄用戶的最後抽獎時間,或抽獎記錄(如果可能存在一天允許抽多次這種情況,最好採用新表存儲抽獎記錄)
抽獎的時候去查詢一下,看今天是否已抽獎
第二種、不需要登錄。
新增一張抽獎記錄表,欄位包括,id,time, ip等
抽獎的時候判斷用戶ip當天抽獎次數。
B. php 抽獎代碼,100分獎勵
中獎概率是40%
<?php
/**
* 抽獎
* @param int $total
*/
function getReward($total=1000)
{
$win1 = floor((40*$total)/100);
$other = $total-$win1;
$return = array();
for ($i=0;$i<$win1;$i++)
{
$return[] = 1;
}
for ($n=0;$n<$other;$n++)
{
$return[] = '未抽中獎品';
}
shuffle($return);
return $return[array_rand($return)];
}
$data = getReward();
echo $data;
?>
C. php+MySQL實現抽獎代碼問題
首先關於PHP+MYSQL來實現不可以重復抽獎這個很好實現,因為你抽獎的頁面要麼是動態要麼是AJAX來實現的。首先AJAX的先不說,我先說關於動態頁面實現。
那麼就是載入頁面的時候判斷對方今日有沒有抽過,如果抽過了那麼就用if語句來不執行抽獎代碼。其實裡面還有很多的細節問題,你說讓貼出代碼,我不願意抄別人的東西,同時網上給的代碼好用的很少。
你要是想做一個有個性的功能還是要自己寫的或者修改,不知道你對JS了解多少也沒法說。我說的就是大概的思路。
樣式千萬種,你找到一個你覺得方便而且能達到你目的的同時針對自己的知識的吧。其實不論那種方式都是要用到AJAX的用來確認已經抽過。
D. 如何用PHP製作有獎品(數量)的轉盤抽獎
這個不是有key值么,抽到後把這個key值的給unset()
unset() 方法
注意如果你使用 unset() 方法,它是不會改變其他的鍵(key),如果你想對其他的鍵(key)重新整理排序,可以使用 array_values()。
<?php
$array = array(0 => "a", 1 => "b", 2 => "c");unset($array[1]);
//↑ 你要刪除的數組元素值的鍵print_r($array);?>
輸出結果:
Array (
[0] => a [2] => c)
E. PHP 數組隨機抽獎,如何實現
使用shuffle ,
把獎項存入數組,對數組shuffle 隨機排序就OK了
例如:
$a=array('A','B','C','D');//抽到C為獎
shuffle ( $a );
如何類推,數組可以是多維數組,關鍵是shuffle 函數的使用。
F. php一個抽獎函數(自定義中獎項數和概率)
解決思路如下:
1)以數字區段來對應中獎情況例如有一、二、三等獎,各自的中獎概率分別為10%、20%、30%那麼有如下劃分:1-10,一等獎;11-30,二等獎;31-60,三等獎,60以上,未中獎
2)產生一個1~100之間的隨機數,看隨機數屬於哪個獎項區域,以確定中獎情況
G. php網站新添一個抽獎,要求後台可以控制誰中獎,怎麼做
給你一個概率計算
functionget_rand($proArr){
$result='';
//概率數組的總概率精度
$proSum=array_sum($proArr);
//概率數組循環
foreach($proArras$key=>$proCur){
$randNum=mt_rand(1,$proSum);
if($randNum<=$proCur){
$result=$key;
break;
}else{
$proSum-=$proCur;
}
}
unset($proArr);
return$result;
}
上述代碼是一段經典的概率演算法,$proArr是一個預先設置的數組,假設數組為:array(100,200,300,400),開始是從1,1000這個概率范圍內篩選第一個數是否在他的出現概率范圍之內, 如果不在,則將概率空間,也就是k的值減去剛剛的那個數字的概率空間,在本例當中就是減去100,也就是說第二個數是在1,900這個范圍內篩選的。這樣篩選到最終,總會有一個數滿足要求。就相當於去一個箱子里摸東西,第一個不是,第二個不是,第三個還不是,那最後一個一定是。這個演算法簡單,而且效率非常高。
配置下獎項
$prize_arr=array(
'0'=>array('id'=>1,'prize'=>'平板電腦','v'=>1),
'1'=>array('id'=>2,'prize'=>'數碼相機','v'=>5),
'2'=>array('id'=>3,'prize'=>'音箱設備','v'=>10),
'3'=>array('id'=>4,'prize'=>'4G優盤','v'=>12),
'4'=>array('id'=>5,'prize'=>'10Q幣','v'=>22),
'5'=>array('id'=>6,'prize'=>'下次沒准就能中哦','v'=>50),
);
最後輸出JSON給前端
foreach($prize_arras$key=>$val){
$arr[$val['id']]=$val['v'];
}
$rid=get_rand($arr);//根據概率獲取獎項id
$res['yes']=$prize_arr[$rid-1]['prize'];//中獎項
unset($prize_arr[$rid-1]);//將中獎項從數組中剔除,剩下未中獎項
shuffle($prize_arr);//打亂數組順序
for($i=0;$i<count($prize_arr);$i++){
$pr[]=$prize_arr[$i]['prize'];
}
$res['no']=$pr;
echojson_encode($res);
H. php 抽獎活動每天只有三次機會是怎麼實現!求思路,求代碼,
記錄下當前用戶
當天抽獎次數
每次抽獎操作來判斷這個用戶的抽獎次數
,大於大於等於3
就不讓他抽
就行了
I. php實現可以設置中獎概率的抽獎程序代碼分享
這篇文章主要介紹了一個抽獎程序,要求一等獎的中獎概率是0.12%,二等獎中獎概率是3%,三等獎中獎概率是12%,其他中獎概率是都是謝謝惠顧
代碼如下:
<?php
/**
*
抽獎
*
@param
int
$total
*/
function
getReward($total=1000)
{
$win1
=
floor((0.12*$total)/100);
$win2
=
floor((3*$total)/100);
$win3
=
floor((12*$total)/100);
$other
=
$total-$win1-$win2-$win3;
$return
=
array();
for
($i=0;$i<$win1;$i++)
{
$return[]
=
1;
}
for
($j=0;$j<$win2;$j++)
{
$return[]
=
2;
}
for
($m=0;$m<$win3;$m++)
{
$return[]
=
3;
}
for
($n=0;$n<$other;$n++)
{
$return[]
=
'謝謝惠顧';
}
shuffle($return);
return
$return[array_rand($return)];
}
$data
=
getReward();
echo
$data;
?>