如何用PHP制作有奖品(数量)的转盘抽奖?
根据网上的教程做出来了个能设置抽奖概率的抽奖转盘,但是有个问题:如果一等奖只有一个的话,一旦抽中以后,后续还是能抽中一等奖。①在网上见到一个在设置数组时添加“库存”属性的...
根据网上的教程做出来了个能设置抽奖概率的抽奖转盘,但是有个问题:如果一等奖只有一个的话,一旦抽中以后,后续还是能抽中一等奖。①在网上见到一个在设置数组时添加“库存”属性的:5 => array( "id" => 5, "name" => "五等奖", "count" => "40")(库存数量)然后他给了一个基于库存剩余量的概率算法(没啥用)。②有说可以用数据库建立一张物资表的方式来计算抽出去了多少,库存为零的时候概率变成0;那我要如何从转盘上获取用户抽中的奖项和数量呢?③目前是用的旋转角度(min和max)来控制落在转盘的何处,用v设定概率(详见附图)的方式来抽取奖项,如果要添上库存的话我要如何更改?
展开
1个回答
展开全部
这个不是有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)
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)
追问
今天有些忙,采纳的晚了,明天白天我试一试,感谢解答。
追答
哈,原理就是越抽越少,抽一次减去一个抽到的key值就ok
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询