Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Random 1, 2, 3 tai 4

karvinen [02.10.2004 18:57:25]

#

Pitäisi saada 4 muuttujaa esim:
$eka
$toka
$kolmas
$neljäs

Noihin neljään muuttujaan pitäisi saada randomi numero mikä on 1, 2, 3 tai neljä.

Se ei vielä ole sinänsä vaikeaa, mutta pitäisi olla niin että kaikki numerot esiintyy kerran.

Tai jokin muu idea miten saa neljään eri paikkaan koodissa randomit numpat.

Juice [02.10.2004 19:13:35]

#

Ei ehkä kompaktein tapa:

<?php
$eka = rand(1,4);
$toka = rand(1,4);
$kolmas = rand(1,4);
$neljas = rand(1,4);
while($toka == $eka){
    $toka = rand(1,4);
}
while($kolmas == $toka || $kolmas == $eka){
	$kolmas = rand(1,4);
}
while($neljas == $kolmas || $neljas == $toka || $neljas == $eka){
	$neljas = rand(1,4);
}
echo $eka;
echo "<br />";
echo $toka;
echo "<br />";
echo $kolmas;
echo "<br />";
echo $neljas;
?>

Testattu on ja toimii.

EDIT: Huomautan, että tämä on hätäinen purkka. Taulukoilla saa varmasti kompaktimman.

Antti Laaksonen [02.10.2004 19:23:57]

#

Tässä on kunnollinen lukujen arpominen:

<?php

$luvut = range(1, 4);

for ($i = 3; $i >= 0; $i--) {
    $arpa = rand(0, $i);
    $uudet[] = $luvut[$arpa];
    $luvut[$arpa] = $luvut[$i];
}

?>

Nyt arvotut luvut ovat $uudet-taulukossa, eli jos haluat ne välttämättä erillisiin muuttujiin, niin kirjoita vielä:

<?php

$eka = $uudet[0];
$toka = $uudet[1];
$kolmas = $uudet[2];
$neljäs = $uudet[3];

?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta