Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Pętla licząca od 0000 do zzzz
kivrell
post 9.12.2016, 23:21:09
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 9.12.2016

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


Jak w temacie, potrzebuję stworzyć pętlę liczącą od 0000 do zzzzz w sensie 0,1,2, ... ,8,9,a,b, ... ,x,y,z. Miałoby to działać tak, że po kliknięciu buttona wartość wzrasta. Podejrzewam, że trzeba by użyć tabeli ale jestem trochę zielony w tym, więc mam nadzieję na pomoc, lub nakierowanie na rozwiązanie smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Neutral
post 9.12.2016, 23:31:33
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 46
Dołączył: 10.01.2016

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


Napisz pętlę, która wypisze na ekran liczby od 0 do 9999 i do tego warunek, w którym jak pętla będzia równa 9999 to ma skończyć działanie i rozpocząć się druga pętla, która wypisz od 'a' do 'z'.

Ten post edytował Neutral 9.12.2016, 23:33:15
Go to the top of the page
+Quote Post
viamarimar
post 10.12.2016, 01:55:53
Post #3





Grupa: Zarejestrowani
Postów: 303
Pomógł: 1
Dołączył: 24.09.2011

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


  1. for($i=0;$i<=9999;$i++){
  2. echo $i."<br>";
  3. }
  4.  
  5. $tab = array('A','Ą','B','C','Ć','D','E','Ę','F','G','H','I','J','K','L','Ł','M','N','Ń','O','Ó','P','R','S','Ś','T','U','W','Y','Z','Ź','Ż');
  6. for ($i=0, $b=count($tab); $i<$b; $i++){
  7. echo $tab[$i]."<br>";
  8. }
  9.  
Go to the top of the page
+Quote Post
Niree
post 10.12.2016, 02:02:36
Post #4





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


Nie <br> tylko </br>, walidacja wyrzuci błąd. Każdy tag powinien być zamknięty.
Go to the top of the page
+Quote Post
arturpiotrowski
post 10.12.2016, 07:53:09
Post #5





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 6.12.2016

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


jak już to chyba <br /> nie </br>
  1. for($i=0;$i<=9999;$i++){
  2. echo $i."<br />";
  3. }
  4.  
  5. $tab = array('A','Ą','B','C','Ć','D','E','Ę','F','G','H','I','J','K','L','Ł','M','N','Ń','O','Ó','P','R','S','Ś','T','U','W','Y','Z','Ź','Ż');
  6. $b=count($tab);
  7. for ($i=0; $i<$b; $i++){
  8. echo $tab[$i]."<br />";
  9. }


Jeśli każda litera i cyfra ma być po przecinku to wstaw go w cudzysłowie zamiast <br />

Ten post edytował arturpiotrowski 10.12.2016, 07:55:52
Go to the top of the page
+Quote Post
Pyton_000
post 10.12.2016, 08:50:18
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Cytat(Niree @ 10.12.2016, 02:02:36 ) *
Nie <br> tylko </br>, walidacja wyrzuci błąd. Każdy tag powinien być zamknięty.


Gwoli ścisłości <br/> używamy w XHTML, dla HTML <br> więc nie siej takiego zamętu...
Go to the top of the page
+Quote Post
viamarimar
post 10.12.2016, 14:07:18
Post #7





Grupa: Zarejestrowani
Postów: 303
Pomógł: 1
Dołączył: 24.09.2011

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


Wydawalo mi sie za walidacja yo nie problem zadania aczkolwiek macie racje smile.gif
Go to the top of the page
+Quote Post
by_ikar
post 10.12.2016, 14:17:31
Post #8





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


A że XHTML jest używany niepoprawnie w 99% przypadków (jeden błąd w stronie powinien wywalić całą stronę, tak jak to ma miejsce w XML), ale ludzie nie wysyłają odpowiednich nagłówków (application/xhtml+xml), żeby uniknąć pokazania błędu na stronie, kiedy ktoś gdzieś zapomni domknąć jakiś tag, lub użyje czegoś w nieodpowiednim miejscu - więc to już nie jest XHTML tylko zwykła zupa tagów. Więc skoro i tak niemal nikt nie używa XHTML'a poprawnie, to domykanie tagów jak ma miejsce w XML'u jest totalnie bezsensu i wprowadza tylko zamieszanie które bardzo często jest powielane.

Co do samego problemu, to polecam zainteresować się range żeby nie wymyślać koła na nowo..
Go to the top of the page
+Quote Post
kivrell
post 10.12.2016, 16:11:28
Post #9





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 9.12.2016

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


jestem da dobrym tropie, zmodyfikowałem troszkę kod tak żeby liczył od 0000 do zzzz i wygląda to teraz tak:

Cytat
<html>
<body>
<?php


$tab1 = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
$b1=count($tab1);
for ($i1=0; $i1<$b1; $i1++){
$tab2 = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
$b2=count($tab2);
for ($i2=0; $i2<$b2; $i2++){
$tab3 = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
$b3=count($tab3);
for ($i3=0; $i3<$b3; $i3++){
$tab4 = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
$b4=count($tab4);
for ($i4=0; $i4<$b4; $i4++){

echo $tab1[$i1].$tab2[$i2].$tab3[$i3].$tab4[$i4]."<br />";
}
}
}
}

?>
</body>
</html>

teraz jeszcze muszę dodać obsługę przeładowywania wartości po kliknięciu przycisku, ale do tego już chyba sam dojdę smile.gif Dziękuję wszystkim za pomoc.
Go to the top of the page
+Quote Post
Pyton_000
post 10.12.2016, 19:41:26
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Ło matko biggrin.gif

  1. <?php
  2.  
  3. function print_combinations($characters, $length, $combination = '') {
  4. if ($length > 0) {
  5. foreach ($characters as $i) {
  6. print_combinations($characters, $length - 1, $combination . $i);
  7. }
  8. } else {
  9. printf("%s\n", $combination);
  10. }
  11. }
  12.  
  13. $characters = array_merge(range(0, 9), range('A', 'Z'));
  14. print_combinations($characters, 4);
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: 14.08.2025 - 08:10