Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Lukujen arpominen toistamatta

Meitsi [17.02.2005 17:31:07]

#

Funktio palauttaa taulukon, jossa on arvotussa järjestyksessä parametreinä määritellyn alueen luvut.

<?php

// Arvotaan numeroita, jotka eivät toistu
// Parametreiksi alue, jolta halutaan arpoa numeroita
function rnd($alku, $loppu)
{

    // Tarkistetaan, ovatko parametrit kunnolliset
    if ($alku>$loppu)
    {
        // Käännetään arvot toisinpäin
        $vali=$alku;
        $alku=$loppu;
        $loppu=$vali;
    }

    // Tehdään taulukko halutuista luvuista
    for ($i=0; $i<=$loppu-$alku; $i++)
    {
        $numerot[$i]=$alku+$i;
    }

    // Sekoitetaan taulukko
    shuffle($numerot);

    // Palautetaan taulukko
    return $numerot;

}

// Testataan
// Arvotaan luvut välillä 10-30
$tuloste=rnd(10,30);

// Tulostetaan taulukko
for ($mutu=0; $mutu<sizeof($tuloste); $mutu++)
{
    echo $tuloste[$mutu];
    if ($mutu<sizeof($tuloste)-1)
    {
        echo ",";
    }
}

?>

Meitsi [17.02.2005 17:34:30]

#

Koodi on toiminnassa osoitteessa: http://sooda.dy.fi:8080/~meitsi/random.php

Antti Laaksonen [21.02.2005 14:41:18]

#

Lyhyemmin näin:

<?php

$luvut = range(10, 30);

shuffle($luvut);

echo join(",", $luvut);

?>

T.M. [21.02.2005 15:44:05]

#

:D Taas antti lyhentää :)

Gwaur [21.02.2005 16:01:23]

#

Heh, Anttihan pisti :)

Meitsi [25.02.2005 11:53:54]

#

:o

gofa [20.04.2010 21:39:02]

#

Antti pisti hienon, ja käyttökelposen lyhennelmä. Meitsi:Jos vähänkää lohduttaa olin samoilla jäljillä sun kaa tehdessäni kysymyksien arpomista helsinki tuntemuksen kysymyssarjoista

Vastaus

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

Tietoa sivustosta