Avatar billede -padde- Nybegynder
24. februar 2010 - 16:21 Der er 5 kommentarer og
1 løsning

Randomizer i php (nok ret let)

Hejsa.. det her er nok et lamt spørgsmål i manges øjne, men jeg har brug for hjælp til funktionen rand() i php..

Jeg vil gerne have den til at spytte 56 numre ud, adskilt af et komme hver. Tallene skal være random fra 1 til 4.. sådan her fx : 2,4,4,3,1,2,4,2,3,1,4,2,3,4,2,4,3,2,1,4,3,2,3,2,3,3,3,3,3,4,1,2,3,4,2,1,1,2,2,3,2,3,4,1,2,4,2,2,2,1,1,3,2,4,3,2

Men jeg fatter kun at få den til at smide ét enkelt tal af gangen.. :(

Kan nogen hjælpe
Avatar billede -padde- Nybegynder
24. februar 2010 - 16:27 #1
Min kode er :

<?
srand(time());
$random = (rand()%4);
print("$random,$random,$random,$random,$random");
?>


Og ligger på http://www.mesmerize.dk/nummer.php
Avatar billede zynzz Praktikant
24. februar 2010 - 16:35 #2
$x = 1;
while($x <= 56){
$Random[] = rand(1, 4);
$x++;
}

echo implode(",", $Random);
Avatar billede michael_stim Ekspert
24. februar 2010 - 16:42 #3
function uniqueRandomNumbers($count=5,$max=10,$min=1){
    $numbers = range($min,$max);
    shuffle($numbers);
    return array_slice($numbers,0,$count);
}

echo implode(',', uniqueRandomNumbers(56,4,1));
Avatar billede michael_stim Ekspert
24. februar 2010 - 16:43 #4
Hov, min copy/paste funktion fungerer måske ikke helt efter hensigten ;o)
Avatar billede michael_stim Ekspert
24. februar 2010 - 16:59 #5
Kan sikkert gøres pænere:

function RandomNumbers($count=5,$max=10,$min=1){
    $numbers=array();
    for($i=1; $i<$count; $i++){
        $numbers[] = mt_rand($min,$max);
    }
    return $numbers;
}

echo implode(',', RandomNumbers(56,4,1));
Avatar billede michael_stim Ekspert
24. februar 2010 - 17:02 #6
Det går fint:

for($i=1; $i<$count; $i++){

Skal være:

for($i=0; $i<$count; $i++){

Eller:

for($i=1; $i<=$count; $i++){
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester