Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem zatrzymaniem pętli switch-em z klucza array
Forum PHP.pl > Forum > Przedszkole
.Wojtek
Witam wszystkich serdecznie. Mam następujący kod, który ma pominąć dalszego wykonywania operacji na "wierszu", gdy spełniony jest warunek $row['On_Off'] == 0
  1. $arr_co_and_cu =
  2. 0 => array (0 => '2','Id' => '2',1 => '0','On_Off' => '0'),
  3. 1 => array (0 => '3','Id' => '3',1 => '1','On_Off' => '1'),
  4. );
  5. var_dump($arr_co_and_cu);
  6.  
  7. $i = 0;
  8. foreach($arr_co_and_cu as $row) {
  9. ++$i;
  10. switch ($row['On_Off']) {
  11. case '0':
  12. echo "zatrzymano dalsze wykonywanie pętli nr $i, ponieważ 'On_Off' = ".$row['On_Off']." <br>";
  13. break 1; /* Exit only the switch. */
  14. }
  15. echo "nie zatrzymano pętli nr $i, ponieważ 'On_Off' = ".$row['On_Off']."<br>";
  16. }

Kod daje następujący wynik:
Kod
zatrzymano dalsze wykonywanie pętli nr 1, ponieważ 'On_Off' = 0
nie zatrzymano pętli nr 1, ponieważ 'On_Off' = 0
nie zatrzymano pętli nr 2, ponieważ 'On_Off' = 1

Skoro pętla nr 1 "się zatrzymała", to nie chciałbym, żeby jednak się wciąż wykonywała i tu problem haha.gif
Chciałbym uzyskać wynik:
Kod
zatrzymano dalsze wykonywanie pętli nr 1, ponieważ 'On_Off' = 0
nie zatrzymano pętli nr 2, ponieważ 'On_Off' = 1


var_dump array wygląda następująco:
Kod
array (size=2)
  0 =>
    array (size=4)
      0 => string '2' (length=1)
      'Id' => string '2' (length=1)
      1 => string '0' (length=1)
      'On_Off' => string '0' (length=1)
  1 =>
    array (size=4)
      0 => string '3' (length=1)
      'Id' => string '3' (length=1)
      1 => string '1' (length=1)
      'On_Off' => string '1' (length=1)

Wolałbym nie zmieniać pętli foreach($arr_co_and_cu as $row) i struktury array.
nospor
Zamien break 1 na break 2
A nastepnym razem do banalnego porownania uzywaj IF to nie bedziesz mial takich problemow

edit: chyba nie doczytalem calego twojego posta.
Uzyj poprostu IF ELSE
gdzie w IF bedzie tekst ze zatrzymano, a w ELSE ze nie zatrzymano. Nie wiem co sie naszlo na switch tutaj
.Wojtek
Masz zupełną rację, zakręciłem się. Dziękuję.
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-2024 Invision Power Services, Inc.