Diskuze: php rand loop

PHP PHP php rand loop American English version English version

Avatar
David
Člen
Avatar
David:

Ahoj, měl bych dotaz mám php script, který mi vygeneruje náhodné číslo, ale jak mám udělat kdyby už náhodné číslo ve stringu existovalo aby to vygenerovalo znova a pořad dokola aby číslo nebylo použito...
Byl bych rád kdyby tu dál někdo příklad toho scriptu...

 
Odpovědět 10.7.2014 0:35
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na David
Jan Vargovský:
<?php
        $maxCount = 3;
        $numberMin = 0;
        $numberMax = 2;
        $numbers = array();

        while (count($numbers) < $maxCount) {
            $randomNumber = rand($numberMin, $numberMax);
            if (!in_array($randomNumber, $numbers))
                $numbers[] = $randomNumber;
        }

        foreach ($numbers as $number)
            echo $number . "<br>";
?>
Editováno 10.7.2014 0:47
 
Nahoru Odpovědět 10.7.2014 0:47
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:

Uhm, teď to čtu a není to to, co jsi chtěl ... Jdu radši koukat na TI

 
Nahoru Odpovědět 10.7.2014 0:50
Avatar
kxmx
Redaktor
Avatar
kxmx:

jak to máš? jako string s textem a někde uvnitř náhodné číslo? nebo x náhodných čísel ve stringu nějak oddělených? Nejde to řešit polem?

jestli to máš ve stylu "slovo slovo 1234 slovo" tak asi:

$string = "slovo slovo 1234 slovo";

function osetrenaNahoda($string) {
    $pokracuj = true;
    do {
        $nahodneCislo = rand(0,100);
        if (strpos($string,$nahodneCislo) !== false)  {
            continue;
        } else {
             $pokracuj = false;
        }
    } while ($pokracuj);
    return $nahodneCislo;
}
 
Nahoru Odpovědět 10.7.2014 0:53
Avatar
David
Člen
Avatar
 
Nahoru Odpovědět 10.7.2014 11:23
Avatar
David
Člen
Avatar
David:

Ano ve stringu číslo a aby to vygenerované číslo nebylo stejné jako ve stringu :)

 
Nahoru Odpovědět 10.7.2014 11:27
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.