2015-10-10 60 views
0

我怎樣才能讓每個陣列中,我想肯定是隨機的,每次和多少將是每個陣列我想每次

function randomDigits($numDigits) { 
    if ($numDigits <= 0) { 
     return ''; 
    } 
    return mt_rand(0, 50) . randomDigits($numDigits - 1); 
} 
function randomDigitsLame($numDigits) { 
    $digits = ''; 
    for ($i = 0; $i < $numDigits; ++$i) { 
     $digits .= mt_rand(0, 1000); 
    } 
    return $digits; 
} 
$maxq = 100; 
for ($i = 1; $i <= $maxq; $i++) { 
    echo $i . "<br>\n"; 
    echo randomDigits($i) . "<br>\n----<br>\n"; 
} 
+1

你的代碼有什麼問題? – andrewsi

回答

1

我相信遞歸是不是要適合你的要求,所以我調整的代碼。

此代碼爲您提供每次1000數字。意味着它會給你100次1000號碼。我刪除了randomDigitsLame函數,因爲你沒有使用它。

function randomDigits($numDigits) { 
    $arrayRange = 1000; 
    if ($numDigits <= 0) { 
     return ''; 
    } else{ 
     for($i=0; $i<$arrayRange; $i++){ 
      echo mt_rand(0, 50) ." "; 
     } 
    } 

} 
$maxq = 100; 
for ($i = 1; $i <= $maxq; $i++) { 
    //echo $i . "<br>\n"; ==>>> commented 
    randomDigits($i) . "<br>\n----<br>\n"; 
} 
+0

這不是數組的數量,它是一個額外的'回聲',我已經刪除。您可以在代碼段中看到註釋行。 – Manwal

1

這裏有一個函數可以幫你。

function makeArray($size,$rand1,$rand2) { 

$array = array(); 

while ($size > 0) { 
array_push($array, mt_rand($rand1,$rand2)); 
$size--; 
} 

return $array; 

} 

print_r(makeArray(1000,0,50)); 
+0

這個代碼是好的,但我需要100個數組,從0到50(隨機)的1000個數字。它只產生1000個數字的數組,我需要100個數組。 Thnks –