![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
Jak w PHP wygenerować unikalny 4 znakowy kod (w którym znaki będę cyframi lub dużymi literami)?
Gdyby to były same cyfry, to wówczas można by było spróbować użyć generatora pseudolosowego, ale w kodzie będą też duże litery, więc jak to zrobić? Unikalność kodu zamierzam zapewnić w ten sposób, że po prostu będę z bazy danych pobierał wszystkie do tej pory wygenerowane kody i jeżeli już taki kod znajduje się w bazie, to będę generował kod jeszcze raz, aż w bazie danych nie będzie takiego kodu. Chyba, że da się to unikalność zrobić jakoś lepiej/szybciej? Kod będzie miał tylko 4 znaki, żeby był łatwy do zapamiętania przez użytkowników. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
To nie brzmi jakoś specjalnie optymalnie bo gdy kodów już będzie bardzo dużo to wygenerowanie każdego nowego będzie się wiązało z bardzo dużą liczbą obrotów pętli (prawdopodobnie while), a gdy zabraknie kodów pętla się zapętli (jak dobrze liczę to gdzieś przy 1.6mln kodów).
Rozwiązanie ok gdyby np. ograniczyć liczbę kodów i je resetować. Bez użycia bazy w miarę unikalne stringi zapewnia uniqid. Ten post edytował markonix 6.09.2012, 12:53:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 00:36 |