Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] pętla liter a, b c itd
Forum PHP.pl > Forum > Przedszkole
pavelb
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.
Darti
  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. ?>
drPayton
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 :|
Darti
aaa bo u mnie powtarza elementy... (ten pierwszy ,pusty, wpis kmioci)
trzeba na tablicy wynikowej zrobić array_unique
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.