Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Generacja ciagu liter
icetab
post 4.04.2011, 15:17:21
Post #1





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


Jak wygenerować ciąg liter całego alfabetu bez polskich znaków coś w ten deseń.

abc
azc
cdt

itd.
Go to the top of the page
+Quote Post
kadlub
post 4.04.2011, 15:20:24
Post #2





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


chodzi ci o coś takiego
  1. <?php
  2. while($i < 3)
  3. {
  4. $passwd .= chr(rand(97,122));
  5. $i++;
  6. }
  7. echo $passwd;
  8. ?>
Go to the top of the page
+Quote Post
icetab
post 4.04.2011, 15:22:39
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


Chodzi mi o wszystkie dostępne możliwości wygenerowania ze znaków "qwertyuiopasdfghjklzxcvbnm" ciągu 3-literowego
Go to the top of the page
+Quote Post
Gabrielx
post 4.04.2011, 15:25:07
Post #4





Grupa: Zarejestrowani
Postów: 157
Pomógł: 2
Dołączył: 24.03.2009

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


Cytat(kadlub @ 4.04.2011, 16:20:24 ) *
chodzi ci o coś takiego
  1. <?php
  2. while($i < 3)
  3. {
  4. $passwd .= chr(rand(97,122));
  5. $i++;
  6. }
  7. echo $passwd;
  8. ?>


Dodatkowo jeśli nie chcesz aby się dana litera z alfabetu się powtarzała dodajaesz konstrkukcję if-else(że jeśli już jest to losujesz jescze raz, aż do skutku). Ten ciąg znaków w tym przypadku można by było dodatkowo wrzucić do tablicy jednowymiarowej.

#EDIT

http://forum.php.pl/index.php?showtopic=90...mp;#entry455357

Ten post edytował Gabrielx 4.04.2011, 15:28:25
Go to the top of the page
+Quote Post
kadlub
post 4.04.2011, 15:29:13
Post #5





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


Cytat(Gabrielx @ 4.04.2011, 15:25:07 ) *
Dodatkowo jeśli nie chcesz aby się dana litera z alfabetu się powtarzała dodajaesz konstrkukcję if-else(że jeśli już jest to losujesz jescze raz, aż do skutku). Ten ciąg znaków w tym przypadku można by było dodatkowo wrzucić do tablicy jednowymiarowej.

można to tylko przykład

a tych kombinacji to będzie sporo to jak losowanie lotto
Go to the top of the page
+Quote Post
sadistic_son
post 4.04.2011, 15:37:09
Post #6





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Do lotto to temu daleko, będzie ich 15624:
  1. for($i='a';$i<'z';++$i){
  2. for($j='a';$j<'z';++$j){
  3. for($k='a';$k<'z';++$k){
  4. echo "$i$j$k<br />";
  5. }}}


Ten post edytował sadistic_son 4.04.2011, 15:42:35


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
icetab
post 4.04.2011, 15:37:56
Post #7





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


prawda spora kombinacja smile.gif

mam tu skrypt ale poprawnie nie generuje 3 znaków

  1. <?php
  2. function anagramy($wyraz) {
  3. for ($i=0;$i<strlen($wyraz);$i++) {
  4. $znak=$wyraz[$i];
  5. $ile=count($tmp);
  6. if ($ile==0) $tmp[]=$znak;
  7. else {
  8. for($k=0;$k<$ile;$k++) {
  9. $ciag=$tmp[$k];
  10. for($j=0;$j<=strlen($ciag);$j++) {
  11. $new[]= substr($ciag,3,$j).$znak.substr($ciag,$j);
  12. }
  13. }
  14. $tmp=$new;
  15. $new="";
  16. }
  17. }
  18. return $tmp;
  19. }
  20.  
  21. $tmp = anagramy("qwertyuiopasdfghjklzxcvbnm");
  22. for ($i=3;$i<count($tmp);$i++) echo $tmp[$i]."<br>";
  23. ?>
Go to the top of the page
+Quote Post
sadistic_son
post 4.04.2011, 15:57:33
Post #8





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Poprawka... możliwości jest 17576. Poprzedni mój kod generował bez litery z. Tutaj masz poprawnie:
  1. $num=1;
  2. for($i=97;$i<123;$i++){
  3. for($j=97;$j<123;$j++){
  4. for($k=97;$k<123;$k++){
  5. echo "$num) ".chr($i).chr($j).chr($k).'<br />';
  6. $num++;
  7.  
  8. }}}


Ten post edytował sadistic_son 4.04.2011, 15:58:04


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 17:20