Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]jak ocenić ile razy przeszła pętla for
Forum PHP.pl > Forum > Przedszkole
olo707
Witam
Jak ocenić ile razy przeszła pętla for gdy drugi parametr (w tym przepadku $a) też jest zmienną. Mam taki kod

Kod
     for($num=1;$num<=$a;$num++)
     {

          if($num==3)
   {

        break;
   }


w odpowiednim momencie muszę przerwać pętle break(iem); Oczywiście można to w łatwy sposób uczynić to jak powyżej. Chciałbym jednak aby to wyglądało tak. Naturalnie nie wiem jaką wartość ma $a

Kod
            for($num=1;$num<=$a;$num++)
            {

          if($num==$a)
   {

        break;
   }

Z góry dzięki za odpowiedz



tzm
eee.. nie rozumiem, zadałeś to pytanie na zasadzie - jak podetrzeć sobie tyłek.
$num ma wartość iteracji pętli i w niej masz zapisane ile razy for przeszedł.
olo707
to ile razy pętla przejdzie zależy od $a
tzm
ale w zmiennej $num masz ilość faktycznych przejść w forze jeśli ją zatrzymujesz.

$a = 15

if($a == 9){break}

to $num ma 9 i chyba o to Ci chodzi?
olo707
Kod
            for($num=1;$num<=$a;$num++)
            {

          if($num==$a)
   {

        break;
   }


chodzi o to by $a przyjęła ostatnią wartość $num
kamilo818
  1. $a=$num;
olo707
chodzi o to aby zmienna $a przyjęła ostatnią wartość $num (wartość ostatniej iteracji)
trueblue
Odpowiedź sam sobie dałeś w swoim drugim poście.
Ale chyba nie rozumiesz jak działa warunek, tu w pętli for.
olo707
na tym polega problem że nie wiem jaka będzie wartość $a
Pyton_000
  1. if($a==$num){
  2. $a=$num;
  3. break;
  4. }


Albo ja jestem idiota albo.. sam nie wiesz czego chcesz smile.gif
borabora
Cytat(olo707 @ 2.11.2014, 20:57:28 ) *
na tym polega problem że nie wiem jaka będzie wartość $a

to od czego zależy jej wielkość?
olo707
piszę crawlera w php do sczytywania danych, zależy od ilości określonych elementów w DOM-ie, ich ilość będzie się zmieniać i nie będę wiedział ile tak naprawdę ich jest
Pyton_000
A słyszał ty o innych pętlach? np while?
olo707
nie jest istotne czy while czy for chodzi tylko przerwanie pętli w odpowiednim momencie czyli w tym przypadku o uchwycenie wartości $num podczas ostatnie iteracji
tzm
Cytat(Pyton_000 @ 2.11.2014, 21:27:08 ) *
  1. if($a==$num){
  2. $a=$num;
  3. break;
  4. }


Albo ja jestem idiota albo.. sam nie wiesz czego chcesz smile.gif



Albo ktoś inny w tym temacie nie chcąc wskazywać palcem.


Wrzuć to sobie w konsole i zobacz jak działa pętla for bo chyba nie wiesz....

for(var i = 0; i <= a; i++) {

if( i == a ) { console.log(i); break }

}

a poza tym poczytaj o operatorach bo aż głowa boli..

jeśli masz operator <= to pętla stanie zawsze w momencie równości i == a, a zmienna i zawsze będzie miała wartość iteracji bo jest zgodnie z operatorem ++ zwiększana z każdą iteracją i to jest odpowiedz na Twoje pytanie.

wiem ze js to nie php ale petle dzialaja tak samo wszedzie.
borabora
Cytat(olo707 @ 2.11.2014, 22:24:45 ) *
piszę crawlera w php do sczytywania danych, zależy od ilości określonych elementów w DOM-ie, ich ilość będzie się zmieniać i nie będę wiedział ile tak naprawdę ich jest

1.pobierasz stronę
2. zapisujesz do zmiennej
3. dajesz explode() po tym określonym elemencie, np <div class="jakasklasa">
4.a jezeli potrzebujesz tylko wiedziec ile było wystąpień to przeliczasz wirsze tablicy count()
4.b jezeli masz cos z tym robić to uzyj petli foreach($tablica as $wiersz){tutaj cos robisz}
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.