abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 27
    včera 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 11
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    24.3. 08:55 | IT novinky

    Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).

    Ladislav Hagara | Komentářů: 0
    23.3. 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 6
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 326 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: PHP - jak vygenerovat náhodné znaky uložené v proměnné

    6.11.2014 12:49 Jarda
    PHP - jak vygenerovat náhodné znaky uložené v proměnné
    Přečteno: 200×
    Ahoj. Neexistuje nějaká funkce, která dokáže vygenerovat náhodné znaky které jsou uloženy v nějaké proměnné? Díky

    Odpovědi

    Tarmaq avatar 6.11.2014 13:04 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: PHP - jak vygenerovat náhodné znaky uložené v proměnné
    Takovou funkci si musis napsat. Jakeho typu je ta promenna? Retezec, pole nebo co? Pokud pole, tak napr. nejak takto:
    $nahodny_znak = $pole_znaku[rand(0, count($pole_znaku) - 1)];
    
    Napsal jsi toho docela malo, takze tezko hadat kolik znaku ma mit vygenerovany rezec atp.
    Don't panic!
    6.11.2014 13:13 Jarda
    Rozbalit Rozbalit vše Re: PHP - jak vygenerovat náhodné znaky uložené v proměnné
    Ahoj, díky za info, doplňuji..
    jestli to bude pole ne řetězec mi je jedno,
    počet znaků je 22
    počet znaků na výběr je 9
    Děkuji
    Tarmaq avatar 6.11.2014 13:30 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: PHP - jak vygenerovat náhodné znaky uložené v proměnné
    function foo($length)
    {
        $rv = '';
        $chars = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
        $limit = count($chars) - 1;
        for ($i = 0; $i < $length; $i++) {
            $rv .= $chars[rand(0, $limit)];
        }
        return $rv;
    }
    echo foo(22);
    
    Jinak to pole s temi znaky je dobre mit nekde v nejake tride jako statickou promennou, pokud to generovani probiha vicekrat.. Lze take pouzit retezec a pote ho splitnout na pole... Zalezi na okolnostech a preferenci. Jo a taky lze misto rand() pouzit mt_rand()..
    Don't panic!
    6.11.2014 13:42 Jarda
    Rozbalit Rozbalit vše Re: PHP - jak vygenerovat náhodné znaky uložené v proměnné
    Děkuji moc za pomoc a funkci.

    Funkci mt_rand() nevyužiji, jelikož se jedná vždy o stejný počet znaků. Co by mě ještě ale moc zajímalo je inicializace proměnné $rv. použil jsi
    $rv = '';
    Proč není správné použití
    $rv = null;
    nebo
    $rv = false; 
    Děkuji
    Tarmaq avatar 6.11.2014 14:55 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: PHP - jak vygenerovat náhodné znaky uložené v proměnné
    Protoze se jedna o string, nema smysl inicializovat jako null nebo false.
    Don't panic!
    7.11.2014 15:59 Lucius
    Rozbalit Rozbalit vše Re: PHP - jak vygenerovat náhodné znaky uložené v proměnné
    kdyz pouzije:

    array_rand ( $chars )

    namisto:

    rand(0, $limit)

    tak usetri ten radek s $limit = count($chars) - 1;

    :-)
    7.11.2014 12:26 Lucius
    Rozbalit Rozbalit vše Re: PHP - jak vygenerovat náhodné znaky uložené v proměnné
    Nebo pokud by to melo byt bez poli tak ta fu muze byt zhruba
    
    function random_string($str='',$max = 20){
    
    	return (strlen($str) ? str_shuffle ( str_pad('', $max, $str) ):'');
    
    }
    
    7.11.2014 16:24 Lucius
    Rozbalit Rozbalit vše Re: PHP - jak vygenerovat náhodné znaky uložené v proměnné
    a takto to je lepsi:
    function random_string2($str='',$max = 20){
    
    	$strLen = 	strlen($str);
    	return ($strLen ? substr(str_shuffle ( str_pad('',ceil($max/$strLen)*$strLen, $str)),0,$max ):'');
    
    }

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.