Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> instrukcja break;, wyjscie z pętli
polibode
post
Post #1





Grupa: Zarejestrowani
Postów: 232
Pomógł: 1
Dołączył: 11.03.2003

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


Witam

Mam skrypt , ktory szuka czegoś w pliku (porównuje wg wzorca) i wysyla na ekran
Chciałem przyspieszyć taką pętlę
  1. <?php
  2.  
  3. $find = false;
  4. foreach ($line as $value)
  5. {
  6.  $str = explode ('=', trim($value));
  7.  if ($str[0]==$lancuch)
  8.  {
  9. if($j != 1 and $str[1]!='')
  10. $wstaw = $str[1];
  11. else
  12.  $wstaw = $str[0];
  13. $find = true;
  14.  }
  15.  //break;
  16. }
  17.  
  18. ?>

dzięki instrukcji brak;, Nie wiem natomist dlaczego nie pamieta mi zmiennej $find ustawionej na true?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
bendi
post
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


NO widocznie twój break nie działa i zmienna $find nie zmienia swojej wartości...
Go to the top of the page
+Quote Post
polibode
post
Post #3





Grupa: Zarejestrowani
Postów: 232
Pomógł: 1
Dołączył: 11.03.2003

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


bez break działa, wiec , musi coś znaleźć!!!
Go to the top of the page
+Quote Post
NuLL
post
Post #4





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


A nie powinno być
  1. <?php
  2.  
  3. //..
  4. $find=true;
  5. break;
  6. //..
  7.  
  8. ?>


:?:
Go to the top of the page
+Quote Post
polibode
post
Post #5





Grupa: Zarejestrowani
Postów: 232
Pomógł: 1
Dołączył: 11.03.2003

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


tak powinno byc
  1. <?php
  2.  
  3. eval($find = true);
  4.  
  5. ?>

dziękuje

Ten post edytował polibode 4.07.2005, 16:31:41
Go to the top of the page
+Quote Post
NuLL
post
Post #6





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


(IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
A co to zmienia :?:
Go to the top of the page
+Quote Post
aleksander
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


jeżeli mam sie czepiać to
  1. <?php
  2.  
  3. eval('$find = true');
  4.  
  5. ?>
(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
hwao
post
Post #8


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




LOL

Sorka ale musialem ...

  1. <?php
  2. $find = true;
  3. ?>

  1. <?php
  2. eval( '$find = true' );
  3. ?>

  1. <?php
  2. eval( $find = true );
  3. ?>

TE ZAPISY SA ROWNOZNACZNE!

a petal i tak sie cala wykonuje... (caly foreach)....

  1. <?php
  2. $find = true; 
  3. break;
  4. ?>

Dopiero tutaj tylko do $find = true wykonuje!!!

eh...
Go to the top of the page
+Quote Post
NuLL
post
Post #9





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


@hwao - ja to wiem....ale ktoś chyba próbował stworzyć iluzję iż ja źle napisałem...
Go to the top of the page
+Quote Post
polibode
post
Post #10





Grupa: Zarejestrowani
Postów: 232
Pomógł: 1
Dołączył: 11.03.2003

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


alex , bez ptaszków też działa
Go to the top of the page
+Quote Post
donpablo
post
Post #11





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 28.02.2005

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


w powyższej pętli bez względu na wynik przerywasz ją po pierwszym obiegu, więc jeśli coś co szukasz nie zostanie znalezione a pętla jest mimo to przerwana breakiem, to trudno się spodziewać by zmienna (flaga) została ustawiona
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #12





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

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


Jak juz pisali NuLL i donpablo:
  1. <?php
  2. $find = false;
  3. foreach ($line as $value)
  4. {
  5. $str = explode ('=', trim($value));
  6.  
  7. if ($str[0]==$lancuch)
  8. {
  9. if($j != 1 and $str[1]!='')
  10. {
  11. $wstaw = $str[1];
  12. }
  13. else
  14. {
  15. $wstaw = $str[0];
  16. }
  17.  
  18. $find = true;
  19. break; /// <<<< BREAK ma byc tu, lub w IFie wyzej (ale to juz zalezy co ty chciales zrobic)
  20. }
  21. }
  22.  
  23. ?>
Go to the top of the page
+Quote Post

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: 22.08.2025 - 16:01