我有这样的代码
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位数。但你会选择哪个?为什么?如果这两个都不好,请举个例子?提前谢谢
答案 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();