0

我正在编写一个投票宿舍分配系统。该系统假设在学生输入他们的注册号码时为他们分配号码。注册号--------

提交时:系统应该分配一个 0-300 的唯一值://这让我使用下面的代码

$random = rand(0,299);//this assign a unique random number

if($random <= 50){
 echo " you have being allocated a room "
}else{
 echo "No  room is allocated to u"

}

我如何确保两个候选人没有收到相同的随机数。

坦克很多的帮助

4

2 回答 2

2

如果您不使用数据库进行持久性,您几乎无法将冲突的机会减少到零。如果此记录将被输入到数据库表中,您应该在插入时执行 mysql 计数,如果输入的记录不超过房间数,则插入新记录,否则向用户返回消息,表示没有剩余房间。房间号列的mysql自动增加将在这里有所帮助

于 2012-08-17T00:25:28.400 回答
1

如果你绝对不能使用数据库,也许使用 time() 函数加上一些随机数。

例如:

$random = time() . rand(0,1000);

这将回显一个像“1345164397568”这样的数字,并且两个人获得相同数字的几率是千分之一,并且只有他们在完全相同的时间访问。

于 2012-08-17T00:45:16.097 回答