连接mt_rand或大mt_rand

时间:2012-12-15 13:18:06

标签: php random

我有这样的代码

var_dump(randomDigits(20));
function randomDigits($numDigits) {
    if ($numDigits <= 0) {
        return '';
    }

    return mt_rand(0, 9) . randomDigits($numDigits - 1);
}

echo "<br />";

var_dump(randomDigits2(20));
function randomDigits2($numDigits) {
    if ($numDigits <= 0) {
        return '';
    }

    return mt_rand(1000, 9999) . randomDigits($numDigits - 4);
}

var_dump(randomDigits3(20));
function randomDigits3($numDigits) {
    $digits = '';

    for ($i = 0; $i < $numDigits; ++$i) {
        $digits .= mt_rand(0, 9);
    }

    return $digits;
}

所有3个函数都生成20位数。但你会选择哪个?为什么?如果这两个都不好,请举个例子?提前谢谢

1 个答案:

答案 0 :(得分:0)

我要循环,保持简单

<?php

function random_number($length = 20)
{
    $number = '';
    for ($i = 0; $i < $length; $i++) $number .= mt_rand(0,9);
    return $number;
}

echo random_number();