Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak wygenerować 4 znakowy kod (cyfry + duże litery)?
-Gość-
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. $string = 'abcdefghijklmnop...itd...ABCDEF...itd';
  2. $znaki = array();
  3. $i = 0;
  4.  
  5. while ($i<4) {
  6. $losuj = $string[mt_rand(0, strlen($string)-1)];
  7. if (!in_array($losuj, $znaki)) { $znaki[$i] = $losuj; $i++; }
  8. }
  9.  
  10. $kod = implode('',$znaki);


może tak?

Ten post edytował b4rt3kk 6.09.2012, 12:10:03
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 03:55