Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] gdzie jest blad? petla FOR
Forum PHP.pl > Forum > PHP
pawelek14
co nalezy poprawic w ponizszym kodzie?wyswietla

1 2 2 2 5

czyli zamiast tych liczb ktorych nie ma podaje ostatnia pobrana liczbe i skraca liczbe wyszukiwanbych liczb o te liczby ktore sa pominiete w ciagu nasterpujacyhch po sobie liczb :/


  1. <? 
  2. $awans='1,2,5,6,7,8'; 
  3.  
  4. $a0 = explode(',',$awans);  
  5. for($a=0,$q=count($a0);$a<$q;$a++) {
  6. if (in_array($a,$a0)) { 
  7. $kolor=$a;  
  8. }; 
  9. echo"n<b>$kolor </b>n"; 
  10. }; 
  11. ?>
Cysiaczek
Ale co chcesz osiągnąć?
Bo teraz jest tak, że p[o prostu, gdy wartości nie ma w tablicy, to wartosc zmiennej $kolor się nie zmienia - stąd takie wyniki.
byq_pl
Witam smile.gif
Myslę, że o to Ci chodziło:

  1. <?php
  2. $awans='1,2,5,6,7,8'; 
  3.  
  4. $a0 = explode(',',$awans);  
  5. for($a=0,$q=count($a0);$a<$q;$a++) {
  6. if (in_array($a,$a0)) { 
  7. $kolor=$a;
  8. echo"n<b>$kolor </b>n";
  9. }; 
  10. };
  11. ?>
pawelek14
i tak i nie o to chodzila
otoz juz fajnie bo pomija te wartosci ktorych nie ma, natomiast nie wypisuje wszystkich bedacych w $awans, a dokladnie wypisuje 3 wartosci.

1,2,5

wydaje mi sie ze ze funkcja count liczy ze ma byc 6 wartosci (1,2,5,6,7,8) ale to co jest miedzy 2 a 5 w $awans nie jest pomijane tylko liczone i 6 liczonych wartosci jest brane a nie 6 wyswietlonych
Cysiaczek
To użyj pętli foreach zamiast for - będzie prościej.
mike
Napisz może slownie pełnymi zdaniami co chcesz osiągnąć, bo te kody działają.
Tylko wygląda na to że podane kody działają, ale inaczej niż się tego spodziewasz.
Może nie do końca wiesz jak to działa i czego chcesz.
piwoszeq
mozesz uzyc
  1. <?php
  2. print_r($awans);
  3. ?>


albo mozesz tak (nie wiem czy o to Ci chodzilo)
  1. <?php
  2. $awans='1,2,5,6,7,8';
  3. $a0 = explode(',',$awans);
  4. foreach($a0 as $key)
  5. {
  6. echo"<b>$key </b>";
  7. }
  8. ?>
pawelek14
dziekuje slicznie
wlasnie o to foreach mi chodzila
teraz chodzi elegancko
dzieki wielkie
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.