Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] pętla liter a, b c itd
pavelb
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 1.06.2006

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


Witam!
Potrzebuję zrobić pętle która będzie dawać następujący wynik:
a
b
c
d
..
x
z
aa
ab
ac
ad
..
ax
az
ba
bb

itd aż do 4 znaków

Jeśli ma ktoś pomysł jak to zrobić bardzo bym prosił o pomoc!

Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


  1. <?php
  2. for($i=97; $i<=122; $i++) {
  3. $litery[0] = '';
  4. $litery[$i-96] = chr($i);
  5. }
  6.  
  7. foreach ($litery as $litera1){
  8. foreach ($litery as $litera2){
  9. foreach ($litery as $litera3){
  10. foreach ($litery as $litera4){
  11. $zbior[] = $litera1.$litera2.$litera3.$litera4;
  12. }
  13. }
  14. }
  15. }
  16. sort($zbior);
  17.  
  18. //ja sie nie odwazylem odcommentowac ponizszego...
  19. /*
  20. foreach($zbior as $wpis){
  21. echo $wpis."\n";
  22. }*/
  23. ?>


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
drPayton
post
Post #3





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


A ja się odważyłem tongue.gif
Poza tym machnąłem też swoją wersję i cosik mnie zadziwiło
Najpierw moja wersja:
  1. <?php
  2. foreach(range('a', 'z') AS $element) {
  3. $elements[] = $element;
  4. foreach(range('a', 'z') AS $element2) {
  5. $elements[] = $element.$element2;
  6. foreach(range('a', 'z') AS $element3) {
  7. $elements[] = $element.$element2.$element3;
  8. foreach(range('a', 'z') AS $element4) {
  9. $elements[] = $element.$element2.$element3.$element4;
  10. }
  11. }
  12. }
  13. }
  14. sort($elements);
  15. ?>


Efekty:
moja:
elementów: 475253
generowanie tablicy: 2.446 [s]
listowanie: 18.42 [s]
@Darti:
elementów: 531440
generowanie tablicy: 3.205 [s]
listowanie: 22.99 [s]

Zastanawia mnie różnica w ilości elementów :|
Go to the top of the page
+Quote Post
Darti
post
Post #4





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


aaa bo u mnie powtarza elementy... (ten pierwszy ,pusty, wpis kmioci)
trzeba na tablicy wynikowej zrobić array_unique

Ten post edytował Darti 28.10.2007, 16:02:49


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
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 Aktualny czas: 20.08.2025 - 12:08