Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]tabela z alfabetem
shreker
post
Post #1





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


witam potrzebuję zrobić tabelę z alfabetem (26x26 pól), ale z przesunięciem w każdym kolejnym rzędzie o 1 znak. poniżej doszedłem do tego momentu:
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
....
a potrzebuję uzyskać coś takiego:
abcdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyza
cdefghijklmnopqrstuvwxyzab
...
  1. echo '<table>';
  2. for($i = 0; $i <= 26; $i++)
  3. {
  4. echo '<tr>';
  5. for($s = 97; $s <= 122; $s++)
  6. {
  7. echo '<td>'.chr($s).'</td>';
  8. }
  9. echo '</tr>';
  10. }
  11. echo '</table>';
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
blahy
post
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 22
Dołączył: 20.07.2010

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


A ja bym do tego podszedl tak:
  1. <?php
  2.  
  3. $a[0] = range('a', 'z'); // wygeneruj pierwszy wiersz abc...z
  4.  
  5. for ($i = 1; $i<27; $i++) { // wygeneruj odpowiednia ilosc przesunietych wierszy - tutaj ostatni bedzie znowu taki jak pierwszy, czyli abc...z
  6. $row = $a[$i-1]; // skopiuj poprzedni wiersz
  7. $first = array_shift($row); // usun pierwszy znak
  8. $row[] = $first; // i daj go na koniec, czyli z abc...z zrob bcd...za
  9.  
  10. $a[$i] = $row; // dodaj nowy przesuniety wiersz do wyniku
  11. }
  12.  
  13. // wypisz
  14. foreach($a as $row) {
  15. foreach ($row as $char) {
  16. echo $char;
  17. }
  18. echo PHP_EOL;
  19. }


  1. abcdefghijklmnopqrstuvwxyz
  2. bcdefghijklmnopqrstuvwxyza
  3. cdefghijklmnopqrstuvwxyzab
  4. defghijklmnopqrstuvwxyzabc
  5. efghijklmnopqrstuvwxyzabcd
  6. fghijklmnopqrstuvwxyzabcde
  7. ghijklmnopqrstuvwxyzabcdef
  8. hijklmnopqrstuvwxyzabcdefg
  9. ijklmnopqrstuvwxyzabcdefgh
  10. jklmnopqrstuvwxyzabcdefghi
  11. klmnopqrstuvwxyzabcdefghij
  12. lmnopqrstuvwxyzabcdefghijk
  13. mnopqrstuvwxyzabcdefghijkl
  14. nopqrstuvwxyzabcdefghijklm
  15. opqrstuvwxyzabcdefghijklmn
  16. pqrstuvwxyzabcdefghijklmno
  17. qrstuvwxyzabcdefghijklmnop
  18. rstuvwxyzabcdefghijklmnopq
  19. stuvwxyzabcdefghijklmnopqr
  20. tuvwxyzabcdefghijklmnopqrs
  21. uvwxyzabcdefghijklmnopqrst
  22. vwxyzabcdefghijklmnopqrstu
  23. wxyzabcdefghijklmnopqrstuv
  24. xyzabcdefghijklmnopqrstuvw
  25. yzabcdefghijklmnopqrstuvwx
  26. zabcdefghijklmnopqrstuvwxy
  27. abcdefghijklmnopqrstuvwxyz


mozna tez nie tworzyc zmiennej $row, tylko uzyc bezposrednio nowego wiersza $a[$i] no i tez bardziej sprytnie zamieniac znaki pierwszy z ostatnim
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: 13.10.2025 - 15:02