Ankündigung

Einklappen
Keine Ankündigung bisher.

Variable sperren?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variable sperren?

    Ich versuche gerade, mittels einer Rekursion ein Array zu durchlaufen. Dabei benötige ich eine fortlaufende Zahl als Index, die eindeutig sein muss. Nur leider kommen etliche Zahlen mehrfach vor. Kann man irgendwie die Variable sperren, damit nicht mehrfach dergleiche Wert verwendet wird?

    Code:
    function tree($array, $einrueck=0, $tree, $num=0, $cat=0) {
        $cat=$num;
        foreach($array as $key=>$value) {
            $num++;
            echo $num . "\n";
            if (is_array($array[$key])) {
                tree($array[$key], $einrueck + 1, $tree, $num, $cat);
            }
        }
        return $tree;
    }
    Oder wo könnte der Fehler liegen? Es kommen beispielsweise 530 Zahlen raus, die größte ist aber gerade mal 48 (Soll:530)...?


  • #2
    PHP-Code:
    <?php
    function recursiveGo($bla$n 0)
    {
      for (
    $i 0$i 10$i++) {
        print 
    $n++;
      }
      if (
    irgendeineBedingung) {
        
    recursiveGo($blaAnderesZeug$n);
      }
    }
    ?>
    $n erhöht sich immer schön eindeutig, doppelte Zahlen kriegste also nicht...

    Kommentar


    • #3
      Hi.

      Du kannst auch einfach den Zähler als statische Variable definieren:
      PHP-Code:
      <?php
      function foo()
      {
          static 
      $id 0;
          if (
      $id 10) {
       
              print 
      "$i\n";
              
      $i++;
              
      foo();
          }
      }
      ?>
      Basti

      Kommentar


      • #4
        öhm du hast dich verschrieben, das $i muss $id heißen, nur um Fehler vorzubeugen

        Kommentar


        • #5
          Ja, klar. Danke.

          Basti

          Kommentar

          Lädt...
          X