【问题标题】:Long digit random number create algorithm长位随机数创建算法
【发布时间】:2015-07-28 04:42:29
【问题描述】:

我想在 php 中创建长数字随机数,但我有一个问题。什么是性能的最佳方式。

例如我认为的第一个选项。

rand(10000,99999)

但我不知道性能如何。如果再长一点会怎样?

所以我想到了这个

$randomNumber=rand(10,99).rand(10,99).rand(10,99)...

比第一个更有效吗?

谢谢。

【问题讨论】:

  • $randomNumber=rand(10000,99999) - 单个函数调用的开销; $randomNumber=rand(10,99).rand(10,99).rand(10,99) - 三个函数调用的开销,加上串联的开销
  • 您的第一个示例比第二个示例快 +/- 5 倍。
  • 如果您真的担心代码中的性能优化水平,那么我假设您已经解决了很大的性能开销,例如循环内的循环、数据库调整等一个很大的开销......但不知何故我怀疑它

标签: php algorithm random


【解决方案1】:

兰德(10000,99999) 与其他选项相比,使用上述功能在务实和逻辑上是非常好的建议

【讨论】:

    【解决方案2】:

    试试这个

    function RandomNumber()
    {
        $size = '15';
        $randomnumber = '';
        for ($i = 0; $i < $size ; $i++) {
            $randomnumber .= rand(0,9);
        }
        return $randomnumber;
    }
    
    $random = RandomNumber();
    echo $random;
    

    【讨论】:

    • 这只会创建一个随机数字,表示0-9
    • 刚刚进行了快速测试并更正了答案。谢谢x
    【解决方案3】:

    您可以使用 MD5(),或者如果您使用 mysql,则可以使用 UUID()。否则 rand(10000,99999) 是可以的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-01
      • 1970-01-01
      相关资源
      最近更新 更多