Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: instrukcja break;
Forum PHP.pl > Forum > PHP
polibode
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?
bendi
NO widocznie twój break nie działa i zmienna $find nie zmienia swojej wartości...
polibode
bez break działa, wiec , musi coś znaleźć!!!
NuLL
A nie powinno być
  1. <?php
  2.  
  3. //..
  4. $find=true;
  5. break;
  6. //..
  7.  
  8. ?>


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

dziękuje
NuLL
blink.gif
A co to zmienia :?:
aleksander
jeżeli mam sie czepiać to
  1. <?php
  2.  
  3. eval('$find = true');
  4.  
  5. ?>
winksmiley.jpg
hwao
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...
NuLL
@hwao - ja to wiem....ale ktoś chyba próbował stworzyć iluzję iż ja źle napisałem...
polibode
alex , bez ptaszków też działa
donpablo
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
dr_bonzo
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. ?>
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.