Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem w pętlą for
cichy19-
post 15.09.2006, 14:03:03
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 5.06.2006

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


Witam

Używam poniższego kodu i coś jest nie tak.
Powinno być wykonywane co 25 a robi się tylko raz.

  1. <?php
  2. for ($i=0; ; $i=$i+25) {
  3. $p++;
  4. $versja = array('user-id' => $allegro_user,
  5. 'webapi-key' => $webapikey,
  6. 'country-id' => 1,
  7. 'offset' => $i);
  8. $pktapi = $soapclient->call('doGetUserItems', $versja);
  9. echo '<hr>Partia '.$p.' - '.count($pktapi['user-item-list']).'<hr>';
  10. print_r($pktapi);
  11. if (count($pktapi['user-item-list'])!=25) break;
  12. }
  13. ?>
Go to the top of the page
+Quote Post
kossa
post 15.09.2006, 14:30:52
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


tu był błąd:

  1. <?php
  2. for ($i=0; $i<=25; $i++) 
  3. {
  4. //reszta kodu
  5. }
  6. ?>


Łukasz

edit
zapomniałem o BBcode :-)

Ten post edytował kossa 15.09.2006, 14:31:40


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 15.09.2006, 15:48:46
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


~Kossa -- czytaj, ma sie wykonywac co 25 czyli $i+= 25 a na koncu masz breaka

~cichy19- -- a warunek
  1. <?php
  2. if (count($pktapi['user-item-list'])!=25) break;
  3. ?>

nie jest przypadkiem spelniony?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
macbirdie
post 15.09.2006, 17:00:55
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 7.09.2006
Skąd: Poznań

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


W ogóle lepiej by było tutaj użyć do-while, bo for zaciemnia nieco kod, gdy nie korzystasz z niego tak jak bozia kazała. winksmiley.jpg

  1. <?php
  2. $i=0;
  3.  
  4. do {
  5. $p++;
  6. $versja = array('user-id' => $allegro_user,
  7. 'webapi-key' => $webapikey,
  8. 'country-id' => 1,
  9. 'offset' => $i);
  10. $pktapi = $soapclient->call('doGetUserItems', $versja);
  11. echo '<hr>Partia '.$p.' - '.count($pktapi['user-item-list']).'<hr>';
  12. print_r($pktapi);
  13.  
  14. $i+=25;
  15. }
  16. while( count($pktapi['user-item-list']) < /* lub <= */ 25 );
  17. ?>


Gdy masz tam !=25, pętla będzie wykonywała się tylko w jednym przypadku, chyba że masz to tak zrobione, by utrzymać rozmiar user-item-list przy rozmiarze 25.


--------------------
NotePad++ / Eclipse 3.3 (+PDT+PyDev+WTP) / VS 2005 Standard (+WTL 8.0+WM 2003 SDK/WM 5.0 SDK) / Glassfish / php 5.2.3 / Apache 2.2.x / MySQL 5.0.x / PostgreSQL 8.2.x / cvsd / violin 2.0 / piano 0.7-pre :P
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 - 12:46