【问题标题】:PHP generate a random number between 2 sets in a time intervalPHP在时间间隔内生成2组之间的随机数
【发布时间】:2017-06-25 06:09:20
【问题描述】:

我每 5 分钟生成一个随机数:

$seed = floor(time()/(60*5));
srand($seed);
$random = rand(2,30);

我想根据 50/50 的几率将数字随机化为值 12 - 30 之间的数字?

这可能吗?

【问题讨论】:

  • 先是50\50兰特,然后是你的其他逻辑,你试过这个吗?
  • 那么我将如何添加没有种子的 5 分钟间隔?
  • 你在下面有一大堆答案,你没有评论/接受,但你发布了这个stackoverflow.com/a/42099518/1415724,不知道你在做什么,也没有回复我的评论.
  • 哦,我很冷静。我只是想知道为什么其他给你答案的人都蒙在鼓里。
  • 点名会让你无处可去@user3574492。请不要这样做。

标签: php random


【解决方案1】:
    $x = rand(0, 1) ? 1 : rand(2,30);

【讨论】:

  • 为什么这么复杂?为什么不使用 rand(0,1)?
【解决方案2】:

给你。如果第一个 rand 返回 1,那么它会给你rand(2,30) 的结果,否则它会变成 1

$random = rand(0,1) == 1 ? rand(2,30) : 1;

【讨论】:

    【解决方案3】:

    您可以简单地在 1 到 58 之间随机化:

      $seed = floor(time()/(60*5));
      srand($seed);
      $random = rand(1,58);
      if ($random > 30) $random = 1;
    

    2..30 是 29 个数字,1 和 31 ... 58 也是 29 个数字 -> 50/50

    【讨论】:

      【解决方案4】:
      $seed = floor(time()/(60*5));
      srand($seed);
      $random = rand(1,rand(2,30));
      

      【讨论】:

      • 我认为这行不通。数字 30 不太可能。
      • “这个怎么样?” - 嗯……不应该是编辑吗? stackoverflow.com/posts/42099324/edit 或者这是你的解决方案?
      • 介意在这里回复吗?这是一个解决方案吗?如果没有,请将其删除并编辑您的问题
      • 这不是讨论区。如果你觉得这是解决方案,那就这样吧。如果您想开一个聊天室并邀请其他人,那就太好了。
      • 请不要使用答案来提问。这不是 Stack Overflow 的工作方式。
      猜你喜欢
      • 2021-11-22
      • 2011-10-03
      • 2014-06-12
      • 2016-08-14
      • 2022-12-04
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多