Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Losowe generowanie ciągu liczb/cyfr
viva
post 1.12.2008, 19:04:04
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.12.2008

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


Wymyśliłem coś takiego :
CODE

<?php
$threeLetters = array();
$alphabet = range('A', 'Z');
for ($i = 0; $i < 26; $i++){
for ($j = 0; $j < 26; $j++){
for ($k = 0; $k < 26; $k++){
$threeLetters[] = $alphabet[$i] . $alphabet[$j] . $alphabet[$k];
echo($_POST['input'].$alphabet[$i].$alphabet[$j].$alphabet[$k]."");
echo("<br />");
}
}
}
?>

Jak to teraz zrepecić by generowały się również cyfry od 1 do 9 oraz znak "-" ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
marcio
post 1.12.2008, 19:08:10
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


A co chcesz zrobic jak chcesz poprostu dodac jakis wygenerowany ciag to zrob tak:
  1. <?php
  2. $hash = substr(md5(time()), 0, 4);
  3. ?>


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
viva
post 1.12.2008, 19:21:12
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.12.2008

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


Nie ma to być jakiś chodzi mi o ciąg przykładowo składający się z 3 znaków od a do z, od 1 do 9 oraz aby w generowaniu zawarty był też znak "-"
Go to the top of the page
+Quote Post
erix
post 1.12.2008, 19:23:31
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Jak to teraz zrepecić by generowały się również cyfry od 1 do 9 oraz znak "-" ?

A sobie kolega łaskawie popatrzy: http://pl.wikipedia.org/wiki/Ascii


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
ShadowD
post 1.12.2008, 19:26:18
Post #5





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Nie wiem czy zrozumiałem istotę problemu, ale wydaje mi się że można by zastosować funkcję rand() zamiast tych 3xpoetli np tak:

A można i tak:
  1. <?php
  2.  
  3.  //dalne
  4.  $dlugoscCiagu=10;
  5.  $znaki=array('a','ą','b','c','ć','d','e','ę','f','g','h','i','j','k','l','ł','m','n','ń','o','ó','p','r','s','ś','t','u','w','y','z','ź','ż',1,2,3,4,5,6,7,8,9,'-');
  6.  
  7.  
  8.  
  9.  do
  10.  {
  11.    $los=rand(1,43);
  12.  
  13.    $losowyCiag.=$znaki[$los];
  14.    
  15.    $i++;
  16.  }
  17.  while($i<=$dlugoscCiagu);
  18.  
  19.  echo $losowyCiag;
  20.  
  21. ?>


EDIT:
Poprawiłem kod i dzieła... ;p

Ten post edytował ShadowD 1.12.2008, 19:47:37


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
viva
post 1.12.2008, 19:58:12
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.12.2008

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


Działa ale nie do końca mnie zrozumieliście. Wynik tego ala skryptu ma to być ciąg wszystkich dostępnych znaków. Nie pojedyńczy wynik. ShadowD wrzuć sobie ten co ja podałem zrozumiesz o co mi chodzi. Poza tym ma być w kolejności alfabetycznej. Totalnie nie chodzi mi o jakąkolwiek optymalizacje tego. Liczy się dla mnie sam wynik.
Go to the top of the page
+Quote Post
ShadowD
post 1.12.2008, 20:01:52
Post #7





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Ok mają to być wszystkie możliwości wypisania [a-z], [0-9] i [-] ułożone alfabetycznie, z maksymalną długością 3 znaków??


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
viva
post 1.12.2008, 20:03:48
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.12.2008

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


Do tego bez powtórek, jeden wynik pod drugim - tak jak w tym co podałem, bym był wdzięczny jakbyś był skłonny przekształcić właśnie ten code co podałem ja.
Go to the top of the page
+Quote Post
ShadowD
post 1.12.2008, 20:09:24
Post #9





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Proszę:

  1. <?php
  2. //znaki
  3.  $znaki=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','w','y','z',1,2,3,4,5,6,7,8,9,'-');
  4.  
  5.  for ($i = 0; $i < 33; $i++)
  6.    {
  7.    for ($j = 0; $j < 33; $j++)
  8.    {
  9.      for ($k = 0; $k < 33; $k++)
  10.      {
  11.        echo $znaki[$i].$znaki[$j].$znaki[$k];
  12.        
  13.        echo("<br />");
  14.      }
  15.    }
  16.  }
  17. ?>


Trochę upiększyłem dodatkowo teraz bez problemu możesz dodawać nowe znaki, jak coś jeszcze to pisz... winksmiley.jpg

Ten post edytował ShadowD 1.12.2008, 20:14:31


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
viva
post 1.12.2008, 20:16:15
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.12.2008

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


I już masz dużego plusa smile.gif Ostatnia rzecz ... chciałbym wyeliminować znak "-" z początku i końca każdego słowa krótko mówiąc chciałbym aby był on tylko pośrodku liter/cyfr. Da rade to jakoś zrobić ? Jeśli nie to i tak nie szkodzi ;]
Go to the top of the page
+Quote Post
ShadowD
post 2.12.2008, 14:02:33
Post #11





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Jak się chce to można wszystko... winksmiley.jpg

Kod:
  1. <?php
  2. //znaki
  3. $znaki=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','w','y','z',1,2,3,4,5,6,7,8,9,'-');
  4.  
  5.  for ($i = 0; $i < 33; $i++)
  6.  {
  7.    if($znaki[$i]!=='-')  
  8.      for ($j = 0; $j < 33; $j++)
  9.      {
  10.        for ($k = 0; $k < 33; $k++)
  11.        {
  12.          if($znaki[$k]!=='-')
  13.            echo $znaki[$i].$znaki[$j].$znaki[$k].'<br />';
  14.        }
  15.      }
  16.  }
  17. ?>


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
viva
post 2.12.2008, 15:05:03
Post #12





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.12.2008

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


Jesteś wielki ! Człowieku serdeczne dzięki !
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: 15.06.2025 - 13:51