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 15:33 | IT novinky

    Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.

    Ladislav Hagara | Komentářů: 0
    dnes 15:00 | IT novinky

    Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Nová verze

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

    Ladislav Hagara | Komentářů: 0
    včera 05:44 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    9.9. 21:00 | IT novinky Ladislav Hagara | Komentářů: 14
    9.9. 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    9.9. 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    9.9. 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (2%)
     (4%)
     (2%)
    Celkem 163 hlasů
     Komentářů: 12, poslední včera 13:00
    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: 219×
    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.