【发布时间】:2013-05-30 02:18:31
【问题描述】:
我在数据库表中有超过 200 个条目,我想为每个条目生成一个随机值,但最后,条目值的总和必须等于 100。是否可以使用 for 循环来做到这一点和 rand() 在 PHP 中?
【问题讨论】:
-
总和怎么能小于总行数,您是否允许零值?您还为每行随机值设置了一个范围,就好像您允许 0-100 一样,第一行可能会得到 100,而其余行则归零……您是否暗示了为什么或为什么需要这个随机数…… .
-
是的,只要确保你的随机数是整数 >= 1
-
您可以计算所有值,然后将该数字除以 100。然后在 0.1 和该结果之间随机化一个值并分配给每个条目。总和将始终低于 100。您知道您的数字将是浮点数(即不是整数)吗?
-
您需要详细说明您到底想要什么,因为就目前而言,您的问题有点荒谬。现在,有 200 行并且要求总和小于 100,您只能可靠地使用
(float)(rand()/getrandmax())*0.5;或 mySQLRAND() * 0.5。 -
@silkfire,数字当然是浮点数。