Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%)
|
Napisałem tą funkcję na potrzeby jednego projektu, może się komuś przyda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Funkcja ta generuje unikalne ID. Ten post edytował Sokal 30.06.2007, 19:03:29 |
|
|
|
![]() |
Post
#2
|
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź |
To teraz ja się "czepnę":
Fragment z dokumentacji dla mt_rand() ( http://pl.php.net/mt_rand ) Cytat Jeśli funkcja zostanie wywołana bez opcjonalnych argumentów min i max , funkcja mt_rand() zwróci liczbę pseudolosową z przedziału pomiędzy 0 a RAND_MAX. Cytat Funkcja ta generuje unikalne ID. Otóż nie unikalne. Generator liczb losowych, jeśli ma określony zakres, zawsze MOŻE wygenerować Ci jakąś wartość ponownie, co oznacza, że ID już nie będą unikalne (bo będą się powtarzać). RAND MAX z kolei ma wartość, którą można odczytać przy pomocy f-cji getrandmax() - jest to 32767. Czyli mamy 32768 kmbinacji. Troszkę mało (IMG:style_emoticons/default/smile.gif) Ale mam dla Ciebie rozwiązanie - dodawaj do wygenerowanej przez mt_rand() wartości wynik zwracany przez microtime() (UNIX-owy znacznik czasu wraz z mikrosekundami - 1000 unikalnych wartości w ciągu sekundy). Wtedy dochodzi Ci stale zmieniający się (i naprawdę unikalny - czas nie biegnie w dowolną stronę (IMG:style_emoticons/default/smile.gif) ) czynnik i będzie prawie idealnie (IMG:style_emoticons/default/smile.gif) |
|
|
|
Sokal [funkcja] generowanie unikalnego id 30.06.2007, 17:34:24
kwiateusz gdyby nie globał byłoby całkiem faj... 30.06.2007, 17:48:21
Sokal Co Ci się nie podoba w globalu?
// Ju... 30.06.2007, 17:53:34
kwiateusz do array_search bo to zwraca numer klucza pod któ... 30.06.2007, 18:49:25
webriddles Witam! Chciałbym użyć tej funkcji u siebie na ... 7.01.2010, 11:16:39
mrok a nie latwiej tak uniqid()
Cytatuniqid
(PHP 4, PH... 7.01.2010, 11:30:46
webriddles Dzięki za odpowiedzi Nie potrzebuję dużo kombinac... 7.01.2010, 12:05:28
Meares Chwila... Chcesz generować id dla użytkowników, kt... 7.01.2010, 12:19:48
webriddles Bo to tworzy kolejne liczby które mogę się składać... 7.01.2010, 12:28:18 
pgrzelka Cytat(webriddles @ 7.01.2010, 12:28:1... 7.01.2010, 14:19:45 
phpion Cytat(pgrzelka @ 7.01.2010, 14:19:45 ... 7.01.2010, 14:28:00
Meares [PHP] pobierz, plaintext function genid() ... 7.01.2010, 12:40:35 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 09:28 |