2016-04-15 6 views
0

Ich versuche, vier Arrays von Zufallszahlen zu erstellen und diese Arrays zu einem zusammenzufassen. Die Druckergebnisse dienen nur dazu, die Daten in den Arrays zu überprüfen.Erstellen Sie ein Array von (nicht eindeutigen) Zufallszahlen in einem bestimmten Bereich

Der Teil, den ich nicht funktionieren kann, sind die Teile kommentiert "Generate 116 commons und erzeugen 46 uncommons". Die Arrays scheinen keine Daten zu enthalten.

<?php 

$common = array(); 
$uncommon = array(); 

//generate 116 random numbers in the range of 35-74 in an array called $common 
for($i = 0; $i < 116; i++){ 
    $common[] = mt_rand(35, 74); 
} 

//generate 46 random numbers in the range 75-106 in an array called $uncommon 
for($i = 0; $i < 46; i++){ 
    $uncommon[] = mt_rand(75, 106); 
} 

//generate 16 random numbers in the range 107-134 in an array called $rare. No duplicates are allowed. 
$rare = range(107, 134); 
shuffle($rare); 
$rare = array_slice($rare ,0, 16); 

//generate 2 random numbers in an array called $superrare. No duplicates are allowed. 
$superrare = range(135, 142); 
shuffle($superrare); 
$superrare = array_slice($superrare ,0, 2); 

//merge the arrays and shuffle the feed 
$feed = array_merge($common, $uncommon, $rare, $superrare); 
//shuffle($feed); 

//print results 
echo "<br> <br> common: "; 
print_r($common); 
echo "<br> <br> uncommon: "; 
print_r($uncommon); 
echo "<br> <br> rare: "; 
print_r($rare); 
echo "<br> <br> super rare: "; 
print_r($superrare); 
echo "<br> <br> feed: "; 
print_r($feed); 

?> 
+0

Wie würden Sie 46 selten bekommen zwischen Bereich von 75 bis 106 Ich sehe nicht, genug für 46 –

+0

@SameerJain Das Array wird einfach keine eindeutigen Zahlen haben, das ist es. –

+2

Was Sie haben, ist Syntaxfehler, so dass Sie nichts sehen. 'i ++' in den Schleifenbedingungen fehlt ein Dollarzeichen, sollte '$ i ++' in beiden Schleifen sein. https://3v4l.org/NDWTW –

Antwort

0

Ich sehe, dass Sie nicht das $ -Zeichen in den für Zeile ** $ haben ** i ++

//generate 116 random numbers in the range of 35-74 in an array called $common 
for($i = 0; $i < 116; $i++){ 
    $common[] = mt_rand(35, 74); 
} 

//generate 46 random numbers in the range 75-106 in an array called $uncommon 
for($i = 0; $i < 46; $i++){ 
    $uncommon[] = mt_rand(75, 106); 
} 
+0

Danke, das war es. Ich schaute eine Stunde lang auf diesen Code und konnte nicht herausfinden, was fehlte. Mach das nicht nochmal. – DigitalFirefly

Verwandte Themen