Autor | Zpráva | ||
---|---|---|---|
Silver8000 Profil |
#1 · Zasláno: 18. 3. 2017, 16:36:25
ahoj vsem,
pred casem jsem vytvarel generator klicu ktery muze generovat nahodne nebo nasledne a ted by me zajimalo jestly je jiny zpusob nez pouzitim cyklu aby se generoval klic podle vlozeneho ID. Zakladni kod najdete zde : BaseCode Priklad muzete najit zde : Example_Generate_ID Uz jsem hledal snad vsude ale vetsinou jsem nachazel jak generovat klice nahodne. Hlavni bod o ktery mi jde je misto cyklu pouzit neco jineho co bude rychlejsi pri generovani klicu. Proc ? Protoze kdyz dam ID 1 000 000 tak to trva dlouho nez se generator prokouse cyklem a narazi na toto cislo,obzvlast kdyz kod pojede na nejakym hostingu ktery ma casovy limit 30 sekund a to i s tim ze v kodu je nastaven zadny limit. Tady jeden z uzivatelu se zminil jak to pocitat kdyz string uz je sestaveny zajimalo by me jak tento proces obratit. Momentalni sestaveni : String->Cislo
Potrebne sestaveni : Cislo->String
doufam ze je to dost srozumitelne. |
||
Časová prodleva: 8 dní
|
|||
Silver8000 Profil |
#2 · Zasláno: 27. 3. 2017, 05:16:52
Tak to potrebne sestaveni mam zde : Cislo->String
Pokud je tam chyba tak me prosim upozornete. <?php /* po zkouknuti kodu : https://github.com/loader/kvzlib/blob/master/php/functions/alphaID.inc.php a mensi uprave jsem vytvoril tento kod */ // Digital number -->> alphabet letter code $code_id = 1; $code_length = 8; $characters_range = array_merge(range('A','Z'), range(0,9)); $characters_count = count($characters_range); $code_max_id = bcpow($characters_count, $code_length); echo $code_max_id; echo "\n"; for($length=($code_length-1);$length>=0;$length--){ $possition = floor($code_id / bcpow($characters_count, $length)); $code_id = $code_id - ($possition * bcpow($characters_count, $length)); $character_keys[] = $characters_range[$possition]; } print_r($character_keys); ?> |
||
Časová prodleva: 6 let
|
0