Soße: Schleife ...

Halle,

gibt es einen befehl der innerhalb einer for-schleife die schleife abricht $i 1 hochzählt und wieder von oben beginnt und weiter macht ?

for($i=0;$i<count($datei);$i++) // beginn der ersten schleife
{
bla bla
bla bla
   {
    bla bla
   }
bla bla
if (meine bedingung erfüllt wird)
      {
      schleife neu beginnen lassen
      }
bla bla
bla bla
bla bla
        {
        bla bla
        bla bla
        }
}

Danko

  1. Hallo Danko!

    gibt es einen befehl der innerhalb einer for-schleife die schleife abricht $i 1 hochzählt und wieder von oben beginnt und weiter macht ?

    for($i=0;$i<count($datei);$i++) // beginn der ersten schleife
    {
    [...]
    if (meine bedingung erfüllt wird)
          {
          schleife neu beginnen lassen
          }
    [...]
    }

    Wenn ich das richtig verstanden hab, brauchst Du Rekursion.

    Das machst du imho am einfachsten, wenn Du ne Funktion baust, und dann in der funktion die funktion erneut aufrufst.

    function bla($blub)
      {
        foreach($blub ...)
          {
            if([bedingung]) bla($irgendwas);
          }
      }

    Ich hoffe, jetzt keinen kompletten unsinn geschrieben zu haben, aber ich glaube, so ging das irgendwie ... ich hab grad in nem Feature-Artikel noch ne kurze erklärung zur Rekursion gefunden: http://aktuell.de.selfhtml.org/artikel/phpasp/php-forum/index.htm#a3

    Ich hoffe, ich konnte dir weiterhelfen.

    MfG
    Götz

    1. Hallo Danko!

      "Soße" ist mein Name; Alos nicht wirklich, aber bestimmt nicht "Danko" - Danko ist eine alternative für Danke.

      Wenn ich das richtig verstanden hab, brauchst Du Rekursion.

      hast du leider nicht.
      natürlich kann ich das durch weiter abfragen prüfen, aber das wäre zuviel arbeit, zumahl ich das schon gemacht hab und es so nicht funktioniert.

      ich möchte einen befehl der egal an welcher stelle einer for-schleife auf die anwendung 3 zugreift (hat jetzt eh keine gerafft)
      also
      for (anwendung1;anwendug2;und3)

      OK ? ich möchte einen befehl innerhalb einer schlefe der alles was noch kommt auslässt und (anwednung3 ist meistens $i++) $i eins hochzält und so tut als währe er am ende der schleife gewesen !!!

      Danko Soße ;-)

      1. Hallo Danko!
        "Soße" ist mein Name; Alos nicht wirklich, aber bestimmt nicht "Danko" - Danko ist eine alternative für Danke.

        ach...

        Wenn ich das richtig verstanden hab, brauchst Du Rekursion.
        hast du leider nicht.

        hat er doch, aber wahrscheinlich ist das eh zu kompliziert für deinen FAll

        ich möchte einen befehl der egal an welcher stelle einer for-schleife auf die anwendung 3 zugreift (hat jetzt eh keine gerafft)
        also
        for (anwendung1;anwendug2;und3)

        was soll dieser Satz bedeuten?

        OK ?

        nein
        ich möchte einen befehl innerhalb einer schlefe der alles was noch kommt auslässt und (anwednung3 ist meistens $i++) $i eins hochzält und so tut als währe er am ende der schleife gewesen !!!
        ah, jetzt wirds deutlicher

        also ich kenne nur break;, hat aber den Nachteil, das es die ganze Schleife unterbricht
        mit break 1; zB kann man aber bestimmen das nur die schleife aussenrum gebreakt werden soll, also einfach noch eine schleife mit den gleichen bedingungen dazwischen bauen und aus der austeigen lassen
        konkret:

        for(blablaba) {
         for(blablabla){
          blablabla;
          blablabla;
          if(bla==bla) {
           $i++;
           break;
          }
          blabalbal;
          blablabla;
         }
        }

        benutze in beiden schleifen $i, damit nix doppelt ausgeführt wird

        ciao
        romy

        no guarantee for my answers!

        Danko Soße ;-)

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        1. ist doch ne möglichkeit !
          also hast du es verstanden !!
          aber gibt es dafür keinen befehl nicht die ganze schleife abzubrechen sondern nur den rest der schleife ab einem punkt ?

          Danko

          1. ist doch ne möglichkeit !
            also hast du es verstanden !!
            aber gibt es dafür keinen befehl nicht die ganze schleife abzubrechen sondern nur den rest der schleife ab einem punkt ?

            hab keine gefunden, nehme aber mal an dass es sie gibt
            php.net ist gerade nicht erreichbar, aber versuchs da, wenn es wieder geht

            Danko

            Bitto

            --
            DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
      2. Hallo Soße!

        "Soße" ist mein Name

        btw. mag ich Anonym-Poster nicht wirklich.

        OK ? ich möchte einen befehl innerhalb einer schlefe der alles was noch kommt auslässt

        Naja, so ganz kapiert hab ichs noch net, aber Schleifen kannst mit break abbrechen (http://www.php-hp.de/manual/control-structures.break.php).

        Aber damit ist dir glaube ich auch nicht viel geholfen. Ich habe Dein genaues anliegen noch nicht so ganz verstanden ... naja .. vielleicht hilft dir break ja trotzdem weiter.

        MfG
        Götz

  2. Hi Soße,

    gibt es einen befehl der innerhalb einer for-schleife die schleife abricht $i 1 hochzählt und wieder von oben beginnt und weiter macht ?

    wenn ich das richtig verstanden habe suchst du continue.

    http://www.zend.com/manual/control-structures.continue.php
    (Heute mal von zend, php.net will immer noch nicht wieder)

    Gruss,
     Carsten

    1. Hi Soße,

      gibt es einen befehl der innerhalb einer for-schleife die schleife abricht $i 1 hochzählt und wieder von oben beginnt und weiter macht ?

      wenn ich das richtig verstanden habe suchst du continue.

      genau das wars, ich wusste es gibt da noch was

      danke

      http://www.zend.com/manual/control-structures.continue.php
      (Heute mal von zend, php.net will immer noch nicht wieder)

      Gruss,
      Carsten

      --
      DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN