foreach() mit for() austauschen...

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

  • foreach() mit for() austauschen...

    Ich tausche grade alle meine foreach()'s (wo es geht) mit for()'s aus...Hab allerdings irgendwie einen Logikfehler drinnen,da dies nicht so ganz funktioniert:

    PHP-Code:
    // Altes foreach
    foreach( $forum_array[$catid] as $category )
    {
        
        foreach( 
    $category as $board )
        {
            
    // Code                
        
    }
                
    }

    // Neues for()

    $forum_array_count count$forum_array[$catid] );
    for( 
    $i 0$i <= $forum_array_count$i++ )
    {
        
    $category $forum_array[$catid][$i];
                
        
    $inner_count count$category );
        for( 
    $j 0$j <= $inner_count$j++ )
        {
            
    // Code
        
    }

    Das funktioniert alles nicht so ganz,die Schleife wird nicht so durchgelaufen,wie sie es eigentlich sollte...kann natürlich auch am "// Code" liegen,würd mir aber gern mal bestätigen lassen ob es so richtig ist,da ich grade keine Fehler sehe...

  • #2
    foreach( $forum_array[$catid] as $category )
    $forum_array[$catid] -> $catid

    wie ist der index denn aufgebaut? nummerisch durchnummeriert?

    wenn nicht, kannst du das mit for() eh vergessen.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hmmm...Ja,Indexe sind alle numerisch,aber mir fällt grad wieder ein,dass beim inneren for() manche Zahlen doppelt vorkommen(also im Index)...
      Bin mir aber grad nicht sicher ob das ein Problem ist

      EDIT:

      Ist wohl doch das Problem...Kann Ich for() AFAIK wohl vergessen...

      Kommentar


      • #4
        im index ein doppeltes vorkommen?

        das würde ja bedeuten, dass der index doppelt. damit wäre es kein index mehr.

        PHP-Code:
        $array = array();
        $array[1] = 'eins';
        $array[1] = 'eins eins'
        wie sieht wohl nun das array aus?
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Hmm...Nochmal überlegt...Natürlich ist der Index NICHT doppelt...Der Array ist ja so aufgebaut:

          PHP-Code:
          $this->forums[$this->BOARD_result['parent_id']][$this->BOARD_result['board_order']][$this->BOARD_result['id']] = $this->BOARD_result
          Ist doch nicht doppelt *verwirrt ist* (geht ja sowieso nicht )

          Kommentar


          • #6
            super array...

            ich denke nicht, dass du mit for() weiterkommen wirst...
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Japp,danke für die Info!Muss ich mich wenigstens nicht weiter mit rumschlagen

              btw:
              Der Array ist perfekt für eine Boardauflistung,da man so auch unendlich viele Subforums mit parsen kann

              Kommentar

              Lädt...
              X