continue bei ineinander verschachtelten Schleifen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bedingung
blocken
break
code
frage
funktionieren
inneren schleife
rest
sagen
schleife
schleifen
tun
typ
vergleich
verwenden
zahl
-
Hallo,
eine weitere PHP Frage von mir:
Ich habe 2 ineinander verschaltete foreach Schleifen. Bei der inneren Schleife werden mit if Vergleiche abgefragt, trifft einer zu, soll mit continue der Rest dieses Durchlaufes der ÄUßEREN Schleife übersprungen werden. Würde ich jetzt innerhalb der inneren Schleife im if Block allerdings continue; schreiben, würde nur die innere übersprungen - Was tun?
Vielen Dank. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
dustboy schrieb:
Du könntest eine Variable vom Typ bool (true/false) verwenden.
$exit = false; foreach ($array1 as $key1 => $value1) { foreach($array2 as $key2 => $value2) { if (bedingung) { $exit = true; continue; } } if ($exit) { continue; } }
Das ist mir auch eingefallen, aber gibt es da keine bessere Lösung? Ich meine kann man dem nicht sagen, dass er die äußere Schleife continue'en soll? -
Falls du keine assoziativen Arrays verwendest und die $key variable nicht benötigst könntest du es auch so machen:
$exit = false; for ($i = 0;isset($array1[$i]) && !$exit;$i++) { foreach($array2 as $key2 => $value2) { if (bedingung) { $exit = true; continue; } } }
in dem fall müsstest du dann statt $value1 $array1[$i] verwenden -
Was dustboy schreibt würde funktionieren, aber
break 2;
ist wesentlich eleganter. ;)
break gefolgt von einer Zahl, bezeichnet die Verschachtelungstiefe, deren Schleife abgebrochen werden soll.
Liebe Grüße
- VampireSilence -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage