0
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位。但你會選擇哪個,爲什麼?如果這兩個都不好,請舉個例子嗎?在此先感謝
既不 - 爲什麼使用遞歸的時候一個簡單的循環會更有效 –
@MarkBaker,問題更新。所以第三種方法比較好?或者你有任何產生隨機數的好例子? –
三是絕對更好。其次,如果$ numDigits不是4的倍數,則不起作用;對於1和2來說,遞歸是一個昂貴的開銷 –