Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] array sortieren

Einklappen

Neue Werbung 2019

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

  • [Erledigt] array sortieren

    moin

    bin schon über die bücher gegangen aber nix gefunden was mir hilft

    hab mysql db, beispielsweise:

    id | zahl1 | zahl2
    ---------------------------
    1 10 5
    2 5 10
    3 9 3


    jetzt kann ich das ja ganz normal ausgeben, entweder order by zahl1 , zahl2 etc ...
    das mach ich ne tabelle aber mit ner 4. zelle und zwar zahl1/zahl2 (gibt also n durchschnitt...)

    jetzt würd ich gern wissen wie ichs dann ausgeben kann das es nach durchschnitt ordnet... hm wieder schlecht beschrieben

    also id 1 hat durchschnitt 2
    id 2 durchschnitt 0.5
    id 3 durchschnitt 3

    jetzt solls die ganzen datensätze geordnet nach durchschnitt ausgeben, wie könnt ich das anstellen

    in mysql kann ich ja noch nich ordnen ORDER BY zahl1/zahl2 DESC oder?

    hm

    und in n array machen is glaub auch nich ganz so einfach, denn insgesamt sinds nich nur 3 felder wie hier (id, zahl1, zahl2) sondern um die 15 ...


  • #2
    hi marco,

    wenn ich dich richtig verstanden habe, willst du nach dem durchschnitt von zahl1 und zahl2 ordnen/ausgeben.
    am einfachsten wäre es doch in die datenbanktabelle ein feld für den durchschnitt hinzuzufügen.
    bei der ausgabe kannst du dann mit ORDER BY 'durchschnitt' arbeiten.

    ciao, madonnari

    Kommentar


    • #3
      array_multisort sollte dir weiterhelfen!

      Damit kannst du dein array sotieren ohne die db-Abfrage zu ändern.
      http://www.dhsmedia.de
      http://www.deutsch-im-blick.de

      Kommentar


      • #4
        Mal davon abgesehen, daß Du mit zahl1/zahl2 nicht den Durchschnitt bekommst, kannst Du die Felder gleich bei der Abfrage hinzufügen und danach sortieren lassen:
        Code:
        SELECT `id`, 
               `zahl1`, 
               `zahl2`, 
               `zahl1`/`zahl2` AS "a/b", 
               (`zahl1`+`zahl2`)/2 AS "Durchschnitt" 
               FROM `tabelle`
               ORDER BY "Durchschnitt"
        Nachträglich geht's dann mit array_multisort():
        Code:
        foreach ($fetched_array AS $key => $val)
            $sort_key[$key] = $val['Durchschnitt'];
            
        array_multisort($sort_key, $fetched_array);

        Kommentar


        • #5
          hehe jau vielen dank taferesschneiderlein.

          joa falsch formuliert, es wird nich der durchschnitt zwischen den beiden zahlen sondern es wird durchschnittlich XX pro XX

          also eines z.b. is tore das ander e spiele
          und dann im schnitt X.XX tore pro spiel

          Kommentar


          • #6
            Hallo Leute,

            mein problem ist ein mehrdimensionale array. Ich will es nach ein Key(odering) sotieren.
            Das Array ist so aufgebaut:
            Code:
            Array
            (
                [Main] => Array
                    (
                        [User Menü] => Array
                            (
                                [Profile] => Array
                                    (
                                        [1] => /projekt/profile.php
                                    )
            
                            )
            
                        [Archiv] => Array
                            (
                                [3] => /projekt/ladepapiere/archiv/index.php
                            )
            
                        [Ladepapiere] => Array
                            (
                                [2] => /projekt/ladepapiere/index.php
                            )
            
                        [Dummy End] => Array
                            (
                                [4] => /projekt/start3.php
                            )
            
                    )
            
                [EDV] => Array
                    (
                        [Benutzer] => Array
                            (
                                [Benutzer anlegen] => Array
                                    (
                                        [1] => /projekt/edv/usercreate.php
                                    )
            
                                [Benutzer bearbeiten] => Array
                                    (
                                        [2] => /projekt/edv/userupdate.php
                                    )
            
                            )
            
                        [Gruppe] => Array
                            (
                                [Gruppe bearbeiten] => Array
                                    (
                                        [2] => /projekt/edv/groupupdate.php
                                    )
            
                                [Gruppe anlegen] => Array
                                    (
                                        [1] => /projekt/edv/groupcreat.php
                                    )
            
                            )
            
                        [Startseite] => Array
                            (
                                [1] => /projekt/edv/index.php
                            )
            
                        [Programme einfügen] => Array
                            (
                                [4] => /projekt/edv/programcreate.php
                            )
            
                    )
            
                [Admin] => Array
                    (
                        [Startseite] => Array
                            (
                                [1] => /projekt/admin/index.php
                            )
            
                        [Verlauf löschen] => Array
                            (
                                [2] => /projekt/admin/session_loeschen.php
                            )
            
                    )
            
                [Start] => Array
                    (
                        [2] => /projekt/start2.php
                    )
            
            )
            Ich will das die Nummer in der richtige reihenfolge mit ihren werten dargestellt werden.

            z.b. an dieser stelle:
            Code:
            [Gruppe] => Array
                            (
                                [Gruppe bearbeiten] => Array
                                    (
                                        [2] => /projekt/edv/groupupdate.php
                                    )
            
                                [Gruppe anlegen] => Array
                                    (
                                        [1] => /projekt/edv/groupcreat.php
                                    )
            
                            )
            so soll es aussehen nach sotieren:
            Code:
            [Gruppe] => Array
                            (
                                [Gruppe bearbeiten] => Array
                                    (
                                        [1] => /projekt/edv/groupupdate.php
                                    )
            
                                [Gruppe anlegen] => Array
                                    (
                                        [2] => /projekt/edv/groupcreat.php
                                    )
            
                            )
            die nummern sind so gewählt das die, die reihenfolge angeben.

            Kann mir einer helfen dieses Array zu sotieren ???

            Gruss

            Hans

            Kommentar


            • #7
              Na dann, fang mal an!

              [MAN]uksort[/MAN] und Rekursion.

              Mein Tipp ist aber, dass sowas beim Erstellen des Arrays immer einfacher zu haben ist.
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Nikosch danke für schnelle antwort.


                Habe die Funktion angeschaut und ausprobiert.
                ich glaube das ich mein problem nicht richtig erklärt haben. Ich will nicht nur die key sondern auch mit ihren inhalt. Habe oben nur die key vertauscht. d.h

                Das array ist ein mehr mehrdimensionale assosiatives array. In dieser array können key in unterschiedlicher Ebene vorkommen.
                Ich will als erstes Das array nach "godering" sotieren und danach eodering und am ende noch odering.

                godering sind Menüpunkte z.B Main
                edering sind unter menüpunkte z.B User Menü
                odering sind die Elemente z.B Profile

                habe jetzt mit einer funtion aus der seite von dir ein halb sotiertes array das es nach odering sotiert.
                das sieht jetzt so aus:

                siehe ein beitrag tiefer

                Kommentar


                • #9
                  Ja, das ist möglich, weil Du die Sortierlogik dort selbst vergibst. Ich verstehe allerdings nicht, warum es den Key "Gruppe" jetzt doppelt geben soll.
                  --

                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                  --

                  Kommentar


                  • #10
                    Code:
                    Array
                    (
                        [3] => Array
                            (
                                [16] => Array
                                    (
                                        [10] => Array
                                            (
                                                [10] => Array
                                                    (
                                                        [3] => Array
                                                            (
                                                                [menu_id] => 10
                                                                [p_id] => 10
                                                                [menu_name] => Benutzer anlegen
                                                                [odering] => 1
                                                                [pfad] => /projekt/edv/usercreate.php
                                                                [parent] => 16
                                                                [emenu_id] => 16
                                                                [ename_menu] => Benutzer
                                                                [eparent] => 3
                                                                [eodering] => 2
                                                                [gmenu_id] => 3
                                                                [gmenu_name] => EDV
                                                                [gparent] => 0
                                                                [godering] => 3
                                                            )
                    
                                                    )
                    
                                            )
                    
                                        [18] => Array
                                            (
                                                [22] => Array
                                                    (
                                                        [3] => Array
                                                            (
                                                                [menu_id] => 18
                                                                [p_id] => 22
                                                                [menu_name] => Benutzer bearbeiten
                                                                [odering] => 2
                                                                [pfad] => /projekt/edv/userupdate.php
                                                                [parent] => 16
                                                                [emenu_id] => 16
                                                                [ename_menu] => Benutzer
                                                                [eparent] => 3
                                                                [eodering] => 2
                                                                [gmenu_id] => 3
                                                                [gmenu_name] => EDV
                                                                [gparent] => 0
                                                                [godering] => 3
                                                            )
                    
                                                    )
                    
                                            )
                    
                                    )
                    
                                [17] => Array
                                    (
                                        [14] => Array
                                            (
                                                [16] => Array
                                                    (
                                                        [3] => Array
                                                            (
                                                                [menu_id] => 14
                                                                [p_id] => 16
                                                                [menu_name] => Gruppe anlegen
                                                                [odering] => 1
                                                                [pfad] => /projekt/edv/groupcreat.php
                                                                [parent] => 17
                                                                [emenu_id] => 17
                                                                [ename_menu] => Gruppe
                                                                [eparent] => 3
                                                                [eodering] => 3
                                                                [gmenu_id] => 3
                                                                [gmenu_name] => EDV
                                                                [gparent] => 0
                                                                [godering] => 3
                                                            )
                    
                                                    )
                    
                                            )
                    
                                        [19] => Array
                                            (
                                                [11] => Array
                                                    (
                                                        [3] => Array
                                                            (
                                                                [menu_id] => 19
                                                                [p_id] => 11
                                                                [menu_name] => Gruppe bearbeiten
                                                                [odering] => 2
                                                                [pfad] => /projekt/edv/groupupdate.php
                                                                [parent] => 17
                                                                [emenu_id] => 17
                                                                [ename_menu] => Gruppe
                                                                [eparent] => 3
                                                                [eodering] => 3
                                                                [gmenu_id] => 3
                                                                [gmenu_name] => EDV
                                                                [gparent] => 0
                                                                [godering] => 3
                                                            )
                    
                                                    )
                    
                                            )
                    
                                    )
                    
                            )
                    
                        [1] => Array
                            (
                                [2] => Array
                                    (
                                        [8] => Array
                                            (
                                                [2] => Array
                                                    (
                                                        [10] => Array
                                                            (
                                                                [menu_id] => 8
                                                                [p_id] => 2
                                                                [menu_name] => Profile
                                                                [odering] => 1
                                                                [pfad] => /projekt/profile.php
                                                                [parent] => 2
                                                                [emenu_id] => 2
                                                                [ename_menu] => User Menü
                                                                [eparent] => 1
                                                                [eodering] => 2
                                                                [gmenu_id] => 1
                                                                [gmenu_name] => Main
                                                                [gparent] => 0
                                                                [godering] => 10
                                                            )
                    
                                                    )
                    
                                            )
                    
                                    )
                    
                            )
                    
                        [] => Array
                            (
                                [3] => Array
                                    (
                                        [7] => Array
                                            (
                                                [3] => Array
                                                    (
                                                        [menu_id] => 9
                                                        [p_id] => 7
                                                        [menu_name] => Startseite
                                                        [odering] => 1
                                                        [pfad] => /projekt/edv/index.php
                                                        [parent] => 3
                                                        [emenu_id] => 3
                                                        [ename_menu] => EDV
                                                        [eparent] => 0
                                                        [eodering] => 3
                                                    )
                    
                                            )
                    
                                        [19] => Array
                                            (
                                                [3] => Array
                                                    (
                                                        [menu_id] => 15
                                                        [p_id] => 19
                                                        [menu_name] => Programme einfügen
                                                        [odering] => 4
                                                        [pfad] => /projekt/edv/programcreate.php
                                                        [parent] => 3
                                                        [emenu_id] => 3
                                                        [ename_menu] => EDV
                                                        [eparent] => 0
                                                        [eodering] => 3
                                                    )
                    
                                            )
                    
                                    )
                    
                                [4] => Array
                                    (
                                        [3] => Array
                                            (
                                                [4] => Array
                                                    (
                                                        [menu_id] => 11
                                                        [p_id] => 3
                                                        [menu_name] => Startseite
                                                        [odering] => 1
                                                        [pfad] => /projekt/admin/index.php
                                                        [parent] => 4
                                                        [emenu_id] => 4
                                                        [ename_menu] => Admin
                                                        [eparent] => 0
                                                        [eodering] => 4
                                                    )
                    
                                            )
                    
                                        [4] => Array
                                            (
                                                [4] => Array
                                                    (
                                                        [menu_id] => 12
                                                        [p_id] => 4
                                                        [menu_name] => Verlauf löschen
                                                        [odering] => 2
                                                        [pfad] => /projekt/admin/session_loeschen.php
                                                        [parent] => 4
                                                        [emenu_id] => 4
                                                        [ename_menu] => Admin
                                                        [eparent] => 0
                                                        [eodering] => 4
                                                    )
                    
                                            )
                    
                                    )
                    
                                [1] => Array
                                    (
                                        [6] => Array
                                            (
                                                [10] => Array
                                                    (
                                                        [menu_id] => 6
                                                        [p_id] => 6
                                                        [menu_name] => Ladepapiere
                                                        [odering] => 2
                                                        [pfad] => /projekt/ladepapiere/index.php
                                                        [parent] => 1
                                                        [emenu_id] => 1
                                                        [ename_menu] => Main
                                                        [eparent] => 0
                                                        [eodering] => 10
                                                    )
                    
                                            )
                    
                                        [5] => Array
                                            (
                                                [10] => Array
                                                    (
                                                        [menu_id] => 7
                                                        [p_id] => 5
                                                        [menu_name] => Archiv
                                                        [odering] => 3
                                                        [pfad] => /projekt/ladepapiere/archiv/index.php
                                                        [parent] => 1
                                                        [emenu_id] => 1
                                                        [ename_menu] => Main
                                                        [eparent] => 0
                                                        [eodering] => 10
                                                    )
                    
                                            )
                    
                                        [14] => Array
                                            (
                                                [10] => Array
                                                    (
                                                        [menu_id] => 13
                                                        [p_id] => 14
                                                        [menu_name] => Dummy End
                                                        [odering] => 4
                                                        [pfad] => /projekt/start3.php
                                                        [parent] => 1
                                                        [emenu_id] => 1
                                                        [ename_menu] => Main
                                                        [eparent] => 0
                                                        [eodering] => 10
                                                    )
                    
                                            )
                    
                                    )
                    
                                [9] => Array
                                    (
                                        [2] => Array
                                            (
                                                [menu_id] => 20
                                                [p_id] => 9
                                                [menu_name] => Start
                                                [odering] => 2
                                                [pfad] => /projekt/start2.php
                                                [parent] => 0
                                            )
                    
                                    )
                    
                            )
                    
                    )

                    Kommentar


                    • #11
                      So sieht es aus:

                      Code:
                      Array
                      (
                          [3] => Array
                              (
                                  [16] => Array
                                      (
                                          [10] => Array
                                              (
                                                  [10] => Array
                                                      (
                                                          [3] => Array
                                                              (
                                                                  [menu_id] => 10
                                                                  [p_id] => 10
                                                                  [menu_name] => Benutzer anlegen
                                                                  [odering] => 1
                                                                  [pfad] => /projekt/edv/usercreate.php
                                                                  [parent] => 16
                                                                  [emenu_id] => 16
                                                                  [ename_menu] => Benutzer
                                                                  [eparent] => 3
                                                                  [eodering] => 2
                                                                  [gmenu_id] => 3
                                                                  [gmenu_name] => EDV
                                                                  [gparent] => 0
                                                                  [godering] => 3
                                                              )
                      
                                                      )
                      
                                              )
                      
                                          [18] => Array
                                              (
                                                  [22] => Array
                                                      (
                                                          [3] => Array
                                                              (
                                                                  [menu_id] => 18
                                                                  [p_id] => 22
                                                                  [menu_name] => Benutzer bearbeiten
                                                                  [odering] => 2
                                                                  [pfad] => /projekt/edv/userupdate.php
                                                                  [parent] => 16
                                                                  [emenu_id] => 16
                                                                  [ename_menu] => Benutzer
                                                                  [eparent] => 3
                                                                  [eodering] => 2
                                                                  [gmenu_id] => 3
                                                                  [gmenu_name] => EDV
                                                                  [gparent] => 0
                                                                  [godering] => 3
                                                              )
                      
                                                      )
                      
                                              )
                      
                                      )
                      
                                  [17] => Array
                                      (
                                          [14] => Array
                                              (
                                                  [16] => Array
                                                      (
                                                          [3] => Array
                                                              (
                                                                  [menu_id] => 14
                                                                  [p_id] => 16
                                                                  [menu_name] => Gruppe anlegen
                                                                  [odering] => 1
                                                                  [pfad] => /projekt/edv/groupcreat.php
                                                                  [parent] => 17
                                                                  [emenu_id] => 17
                                                                  [ename_menu] => Gruppe
                                                                  [eparent] => 3
                                                                  [eodering] => 3
                                                                  [gmenu_id] => 3
                                                                  [gmenu_name] => EDV
                                                                  [gparent] => 0
                                                                  [godering] => 3
                                                              )
                      
                                                      )
                      
                                              )
                      
                                          [19] => Array
                                              (
                                                  [11] => Array
                                                      (
                                                          [3] => Array
                                                              (
                                                                  [menu_id] => 19
                                                                  [p_id] => 11
                                                                  [menu_name] => Gruppe bearbeiten
                                                                  [odering] => 2
                                                                  [pfad] => /projekt/edv/groupupdate.php
                                                                  [parent] => 17
                                                                  [emenu_id] => 17
                                                                  [ename_menu] => Gruppe
                                                                  [eparent] => 3
                                                                  [eodering] => 3
                                                                  [gmenu_id] => 3
                                                                  [gmenu_name] => EDV
                                                                  [gparent] => 0
                                                                  [godering] => 3
                                                              )
                      
                                                      )
                      
                                              )
                      
                                      )
                      
                              )
                      
                          [1] => Array
                              (
                                  [2] => Array
                                      (
                                          [8] => Array
                                              (
                                                  [2] => Array
                                                      (
                                                          [1] => Array
                                                              (
                                                                  [menu_id] => 8
                                                                  [p_id] => 2
                                                                  [menu_name] => Profile
                                                                  [odering] => 1
                                                                  [pfad] => /projekt/profile.php
                                                                  [parent] => 2
                                                                  [emenu_id] => 2
                                                                  [ename_menu] => User Menü
                                                                  [eparent] => 1
                                                                  [eodering] => 2
                                                                  [gmenu_id] => 1
                                                                  [gmenu_name] => Main
                                                                  [gparent] => 0
                                                                  [godering] => 1
                                                              )
                      
                                                      )
                      
                                              )
                      
                                      )
                      
                              )
                      
                          [] => Array
                              (
                                  [3] => Array
                                      (
                                          [7] => Array
                                              (
                                                  [3] => Array
                                                      (
                                                          [menu_id] => 9
                                                          [p_id] => 7
                                                          [menu_name] => Startseite
                                                          [odering] => 1
                                                          [pfad] => /projekt/edv/index.php
                                                          [parent] => 3
                                                          [emenu_id] => 3
                                                          [ename_menu] => EDV
                                                          [eparent] => 0
                                                          [eodering] => 3
                                                      )
                      
                                              )
                      
                                          [19] => Array
                                              (
                                                  [3] => Array
                                                      (
                                                          [menu_id] => 15
                                                          [p_id] => 19
                                                          [menu_name] => Programme einfügen
                                                          [odering] => 4
                                                          [pfad] => /projekt/edv/programcreate.php
                                                          [parent] => 3
                                                          [emenu_id] => 3
                                                          [ename_menu] => EDV
                                                          [eparent] => 0
                                                          [eodering] => 3
                                                      )
                      
                                              )
                      
                                      )
                      
                                  [4] => Array
                                      (
                                          [3] => Array
                                              (
                                                  [4] => Array
                                                      (
                                                          [menu_id] => 11
                                                          [p_id] => 3
                                                          [menu_name] => Startseite
                                                          [odering] => 1
                                                          [pfad] => /projekt/admin/index.php
                                                          [parent] => 4
                                                          [emenu_id] => 4
                                                          [ename_menu] => Admin
                                                          [eparent] => 0
                                                          [eodering] => 4
                                                      )
                      
                                              )
                      
                                          [4] => Array
                                              (
                                                  [4] => Array
                                                      (
                                                          [menu_id] => 12
                                                          [p_id] => 4
                                                          [menu_name] => Verlauf löschen
                                                          [odering] => 2
                                                          [pfad] => /projekt/admin/session_loeschen.php
                                                          [parent] => 4
                                                          [emenu_id] => 4
                                                          [ename_menu] => Admin
                                                          [eparent] => 0
                                                          [eodering] => 4
                                                      )
                      
                                              )
                      
                                      )
                      
                                  [1] => Array
                                      (
                                          [6] => Array
                                              (
                                                  [1] => Array
                                                      (
                                                          [menu_id] => 6
                                                          [p_id] => 6
                                                          [menu_name] => Ladepapiere
                                                          [odering] => 2
                                                          [pfad] => /projekt/ladepapiere/index.php
                                                          [parent] => 1
                                                          [emenu_id] => 1
                                                          [ename_menu] => Main
                                                          [eparent] => 0
                                                          [eodering] => 1
                                                      )
                      
                                              )
                      
                                          [5] => Array
                                              (
                                                  [1] => Array
                                                      (
                                                          [menu_id] => 7
                                                          [p_id] => 5
                                                          [menu_name] => Archiv
                                                          [odering] => 3
                                                          [pfad] => /projekt/ladepapiere/archiv/index.php
                                                          [parent] => 1
                                                          [emenu_id] => 1
                                                          [ename_menu] => Main
                                                          [eparent] => 0
                                                          [eodering] => 1
                                                      )
                      
                                              )
                      
                                          [14] => Array
                                              (
                                                  [1] => Array
                                                      (
                                                          [menu_id] => 13
                                                          [p_id] => 14
                                                          [menu_name] => Dummy End
                                                          [odering] => 4
                                                          [pfad] => /projekt/start3.php
                                                          [parent] => 1
                                                          [emenu_id] => 1
                                                          [ename_menu] => Main
                                                          [eparent] => 0
                                                          [eodering] => 1
                                                      )
                      
                                              )
                      
                                      )
                      
                                  [9] => Array
                                      (
                                          [2] => Array
                                              (
                                                  [menu_id] => 20
                                                  [p_id] => 9
                                                  [menu_name] => Start
                                                  [odering] => 2
                                                  [pfad] => /projekt/start2.php
                                                  [parent] => 0
                                              )
                      
                                      )
                      
                              )
                      
                      )
                      hier wird mit EDV angefangen. Es soll ja so sotiert werden, dass godering als erstes sotiert werden soll und danach die eodering und dann die odering.

                      -Menu
                      -
                      -
                      - -
                      -EDV
                      - -
                      - -
                      -Admin

                      erstmal die oberpunkte und dann die anderen. Admin hat z.b kein godering weil da noch keine dritte ebene existiert

                      Kommentar


                      • #12
                        So sieht es aus:

                        Code:
                        Array
                        (
                            [3] => Array
                                (
                                    [16] => Array
                                        (
                                            [10] => Array
                                                (
                                                    [10] => Array
                                                        (
                                                            [3] => Array
                                                                (
                                                                    [menu_id] => 10
                                                                    [p_id] => 10
                                                                    [menu_name] => Benutzer anlegen
                                                                    [odering] => 1
                                                                    [pfad] => /projekt/edv/usercreate.php
                                                                    [parent] => 16
                                                                    [emenu_id] => 16
                                                                    [ename_menu] => Benutzer
                                                                    [eparent] => 3
                                                                    [eodering] => 2
                                                                    [gmenu_id] => 3
                                                                    [gmenu_name] => EDV
                                                                    [gparent] => 0
                                                                    [godering] => 3
                                                                )
                        
                                                        )
                        
                                                )
                        
                                            [18] => Array
                                                (
                                                    [22] => Array
                                                        (
                                                            [3] => Array
                                                                (
                                                                    [menu_id] => 18
                                                                    [p_id] => 22
                                                                    [menu_name] => Benutzer bearbeiten
                                                                    [odering] => 2
                                                                    [pfad] => /projekt/edv/userupdate.php
                                                                    [parent] => 16
                                                                    [emenu_id] => 16
                                                                    [ename_menu] => Benutzer
                                                                    [eparent] => 3
                                                                    [eodering] => 2
                                                                    [gmenu_id] => 3
                                                                    [gmenu_name] => EDV
                                                                    [gparent] => 0
                                                                    [godering] => 3
                                                                )
                        
                                                        )
                        
                                                )
                        
                                        )
                        
                                    [17] => Array
                                        (
                                            [14] => Array
                                                (
                                                    [16] => Array
                                                        (
                                                            [3] => Array
                                                                (
                                                                    [menu_id] => 14
                                                                    [p_id] => 16
                                                                    [menu_name] => Gruppe anlegen
                                                                    [odering] => 1
                                                                    [pfad] => /projekt/edv/groupcreat.php
                                                                    [parent] => 17
                                                                    [emenu_id] => 17
                                                                    [ename_menu] => Gruppe
                                                                    [eparent] => 3
                                                                    [eodering] => 3
                                                                    [gmenu_id] => 3
                                                                    [gmenu_name] => EDV
                                                                    [gparent] => 0
                                                                    [godering] => 3
                                                                )
                        
                                                        )
                        
                                                )
                        
                                            [19] => Array
                                                (
                                                    [11] => Array
                                                        (
                                                            [3] => Array
                                                                (
                                                                    [menu_id] => 19
                                                                    [p_id] => 11
                                                                    [menu_name] => Gruppe bearbeiten
                                                                    [odering] => 2
                                                                    [pfad] => /projekt/edv/groupupdate.php
                                                                    [parent] => 17
                                                                    [emenu_id] => 17
                                                                    [ename_menu] => Gruppe
                                                                    [eparent] => 3
                                                                    [eodering] => 3
                                                                    [gmenu_id] => 3
                                                                    [gmenu_name] => EDV
                                                                    [gparent] => 0
                                                                    [godering] => 3
                                                                )
                        
                                                        )
                        
                                                )
                        
                                        )
                        
                                )
                        
                            [1] => Array
                                (
                                    [2] => Array
                                        (
                                            [8] => Array
                                                (
                                                    [2] => Array
                                                        (
                                                            [1] => Array
                                                                (
                                                                    [menu_id] => 8
                                                                    [p_id] => 2
                                                                    [menu_name] => Profile
                                                                    [odering] => 1
                                                                    [pfad] => /projekt/profile.php
                                                                    [parent] => 2
                                                                    [emenu_id] => 2
                                                                    [ename_menu] => User Menü
                                                                    [eparent] => 1
                                                                    [eodering] => 2
                                                                    [gmenu_id] => 1
                                                                    [gmenu_name] => Main
                                                                    [gparent] => 0
                                                                    [godering] => 1
                                                                )
                        
                                                        )
                        
                                                )
                        
                                        )
                        
                                )
                        
                            [] => Array
                                (
                                    [3] => Array
                                        (
                                            [7] => Array
                                                (
                                                    [3] => Array
                                                        (
                                                            [menu_id] => 9
                                                            [p_id] => 7
                                                            [menu_name] => Startseite
                                                            [odering] => 1
                                                            [pfad] => /projekt/edv/index.php
                                                            [parent] => 3
                                                            [emenu_id] => 3
                                                            [ename_menu] => EDV
                                                            [eparent] => 0
                                                            [eodering] => 3
                                                        )
                        
                                                )
                        
                                            [19] => Array
                                                (
                                                    [3] => Array
                                                        (
                                                            [menu_id] => 15
                                                            [p_id] => 19
                                                            [menu_name] => Programme einfügen
                                                            [odering] => 4
                                                            [pfad] => /projekt/edv/programcreate.php
                                                            [parent] => 3
                                                            [emenu_id] => 3
                                                            [ename_menu] => EDV
                                                            [eparent] => 0
                                                            [eodering] => 3
                                                        )
                        
                                                )
                        
                                        )
                        
                                    [4] => Array
                                        (
                                            [3] => Array
                                                (
                                                    [4] => Array
                                                        (
                                                            [menu_id] => 11
                                                            [p_id] => 3
                                                            [menu_name] => Startseite
                                                            [odering] => 1
                                                            [pfad] => /projekt/admin/index.php
                                                            [parent] => 4
                                                            [emenu_id] => 4
                                                            [ename_menu] => Admin
                                                            [eparent] => 0
                                                            [eodering] => 4
                                                        )
                        
                                                )
                        
                                            [4] => Array
                                                (
                                                    [4] => Array
                                                        (
                                                            [menu_id] => 12
                                                            [p_id] => 4
                                                            [menu_name] => Verlauf löschen
                                                            [odering] => 2
                                                            [pfad] => /projekt/admin/session_loeschen.php
                                                            [parent] => 4
                                                            [emenu_id] => 4
                                                            [ename_menu] => Admin
                                                            [eparent] => 0
                                                            [eodering] => 4
                                                        )
                        
                                                )
                        
                                        )
                        
                                    [1] => Array
                                        (
                                            [6] => Array
                                                (
                                                    [1] => Array
                                                        (
                                                            [menu_id] => 6
                                                            [p_id] => 6
                                                            [menu_name] => Ladepapiere
                                                            [odering] => 2
                                                            [pfad] => /projekt/ladepapiere/index.php
                                                            [parent] => 1
                                                            [emenu_id] => 1
                                                            [ename_menu] => Main
                                                            [eparent] => 0
                                                            [eodering] => 1
                                                        )
                        
                                                )
                        
                                            [5] => Array
                                                (
                                                    [1] => Array
                                                        (
                                                            [menu_id] => 7
                                                            [p_id] => 5
                                                            [menu_name] => Archiv
                                                            [odering] => 3
                                                            [pfad] => /projekt/ladepapiere/archiv/index.php
                                                            [parent] => 1
                                                            [emenu_id] => 1
                                                            [ename_menu] => Main
                                                            [eparent] => 0
                                                            [eodering] => 1
                                                        )
                        
                                                )
                        
                                            [14] => Array
                                                (
                                                    [1] => Array
                                                        (
                                                            [menu_id] => 13
                                                            [p_id] => 14
                                                            [menu_name] => Dummy End
                                                            [odering] => 4
                                                            [pfad] => /projekt/start3.php
                                                            [parent] => 1
                                                            [emenu_id] => 1
                                                            [ename_menu] => Main
                                                            [eparent] => 0
                                                            [eodering] => 1
                                                        )
                        
                                                )
                        
                                        )
                        
                                    [9] => Array
                                        (
                                            [2] => Array
                                                (
                                                    [menu_id] => 20
                                                    [p_id] => 9
                                                    [menu_name] => Start
                                                    [odering] => 2
                                                    [pfad] => /projekt/start2.php
                                                    [parent] => 0
                                                )
                        
                                        )
                        
                                )
                        
                        )
                        hier wird mit EDV angefangen. Es soll ja so sotiert werden, dass godering als erstes sotiert werden soll und danach die eodering und dann die odering.

                        -Menu
                        -
                        -
                        - -
                        -EDV
                        - -
                        - -
                        -Admin

                        erstmal die oberpunkte und dann die anderen. Admin hat z.b kein godering weil da noch keine dritte ebene existiert

                        Kommentar


                        • #13
                          Zitat von nikosch Beitrag anzeigen
                          Ja, das ist möglich, weil Du die Sortierlogik dort selbst vergibst. Ich verstehe allerdings nicht, warum es den Key "Gruppe" jetzt doppelt geben soll.
                          habe doch garnicht doppelt vergeben, wollte die anhand eines bespiel zeigen wie es umgeändert werden soll. ^^

                          Kommentar


                          • #14
                            Ich sehe immer weniger durch, was Du vorhast. Kannst DU das Problem etwas eingrenzen (abstrahieren)?
                            --

                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                            --

                            Kommentar


                            • #15
                              OK.

                              jetzt habe ich das array neu erstellt. Das andere array was zu kompliziert.

                              das array sieht so aus:
                              Code:
                              Array
                              (
                                  [0] => Array
                                      (
                                          [menu_id] => 10
                                          [p_id] => 10
                                          [menu_name] => Benutzer anlegen
                                          [odering] => 1
                                          [pfad] => /projekt/edv/usercreate.php
                                          [parent] => 16
                                          [emenu_id] => 16
                                          [ename_menu] => Benutzer
                                          [eparent] => 3
                                          [eodering] => 2
                                          [gmenu_id] => 3
                                          [gmenu_name] => EDV
                                          [gparent] => 0
                                          [godering] => 3
                                      )
                              
                                  [1] => Array
                                      (
                                          [menu_id] => 8
                                          [p_id] => 2
                                          [menu_name] => Profile
                                          [odering] => 1
                                          [pfad] => /projekt/profile.php
                                          [parent] => 2
                                          [emenu_id] => 2
                                          [ename_menu] => User Menü
                                          [eparent] => 1
                                          [eodering] => 2
                                          [gmenu_id] => 1
                                          [gmenu_name] => Main
                                          [gparent] => 0
                                          [godering] => 1
                                      )
                              
                                  [2] => Array
                                      (
                                          [menu_id] => 15
                                          [p_id] => 19
                                          [menu_name] => Programme einfügen
                                          [odering] => 1
                                          [pfad] => /projekt/edv/programcreate.php
                                          [parent] => 21
                                          [emenu_id] => 21
                                          [ename_menu] => Programme
                                          [eparent] => 3
                                          [eodering] => 4
                                          [gmenu_id] => 3
                                          [gmenu_name] => EDV
                                          [gparent] => 0
                                          [godering] => 3
                                      )
                              
                                  [3] => Array
                                      (
                                          [menu_id] => 9
                                          [p_id] => 7
                                          [menu_name] => Startseite
                                          [odering] => 1
                                          [pfad] => /projekt/edv/index.php
                                          [parent] => 3
                                          [emenu_id] => 3
                                          [ename_menu] => EDV
                                          [eparent] => 0
                                          [eodering] => 3
                                      )
                              
                                  [4] => Array
                                      (
                                          [menu_id] => 14
                                          [p_id] => 16
                                          [menu_name] => Gruppe anlegen
                                          [odering] => 1
                                          [pfad] => /projekt/edv/groupcreat.php
                                          [parent] => 17
                                          [emenu_id] => 17
                                          [ename_menu] => Gruppe
                                          [eparent] => 3
                                          [eodering] => 3
                                          [gmenu_id] => 3
                                          [gmenu_name] => EDV
                                          [gparent] => 0
                                          [godering] => 3
                                      )
                              
                                  [5] => Array
                                      (
                                          [menu_id] => 11
                                          [p_id] => 3
                                          [menu_name] => Startseite
                                          [odering] => 1
                                          [pfad] => /projekt/admin/index.php
                                          [parent] => 4
                                          [emenu_id] => 4
                                          [ename_menu] => Admin
                                          [eparent] => 0
                                          [eodering] => 4
                                      )
                              
                                  [6] => Array
                                      (
                                          [menu_id] => 22
                                          [p_id] => 21
                                          [menu_name] => Programme ändern
                                          [odering] => 2
                                          [pfad] => /projekt/edv/programupdate.php
                                          [parent] => 21
                                          [emenu_id] => 21
                                          [ename_menu] => Programme
                                          [eparent] => 3
                                          [eodering] => 4
                                          [gmenu_id] => 3
                                          [gmenu_name] => EDV
                                          [gparent] => 0
                                          [godering] => 3
                                      )
                              
                                  [7] => Array
                                      (
                                          [menu_id] => 18
                                          [p_id] => 22
                                          [menu_name] => Benutzer bearbeiten
                                          [odering] => 2
                                          [pfad] => /projekt/edv/userupdate.php
                                          [parent] => 16
                                          [emenu_id] => 16
                                          [ename_menu] => Benutzer
                                          [eparent] => 3
                                          [eodering] => 2
                                          [gmenu_id] => 3
                                          [gmenu_name] => EDV
                                          [gparent] => 0
                                          [godering] => 3
                                      )
                              
                                  [8] => Array
                                      (
                                          [menu_id] => 12
                                          [p_id] => 4
                                          [menu_name] => Verlauf löschen
                                          [odering] => 2
                                          [pfad] => /projekt/admin/session_loeschen.php
                                          [parent] => 4
                                          [emenu_id] => 4
                                          [ename_menu] => Admin
                                          [eparent] => 0
                                          [eodering] => 4
                                      )
                              
                                  [9] => Array
                                      (
                                          [menu_id] => 19
                                          [p_id] => 11
                                          [menu_name] => Gruppe bearbeiten
                                          [odering] => 2
                                          [pfad] => /projekt/edv/groupupdate.php
                                          [parent] => 17
                                          [emenu_id] => 17
                                          [ename_menu] => Gruppe
                                          [eparent] => 3
                                          [eodering] => 3
                                          [gmenu_id] => 3
                                          [gmenu_name] => EDV
                                          [gparent] => 0
                                          [godering] => 3
                                      )
                              
                                  [10] => Array
                                      (
                                          [menu_id] => 7
                                          [p_id] => 5
                                          [menu_name] => Archiv
                                          [odering] => 2
                                          [pfad] => /projekt/ladepapiere/archiv/index.php
                                          [parent] => 1
                                          [emenu_id] => 1
                                          [ename_menu] => Main
                                          [eparent] => 0
                                          [eodering] => 1
                                      )
                              
                                  [11] => Array
                                      (
                                          [menu_id] => 20
                                          [p_id] => 9
                                          [menu_name] => Start
                                          [odering] => 2
                                          [pfad] => /projekt/start2.php
                                          [parent] => 0
                                      )
                              
                                  [12] => Array
                                      (
                                          [menu_id] => 6
                                          [p_id] => 6
                                          [menu_name] => Ladepapiere
                                          [odering] => 3
                                          [pfad] => /projekt/ladepapiere/index.php
                                          [parent] => 1
                                          [emenu_id] => 1
                                          [ename_menu] => Main
                                          [eparent] => 0
                                          [eodering] => 1
                                      )
                              
                                  [13] => Array
                                      (
                                          [menu_id] => 13
                                          [p_id] => 14
                                          [menu_name] => Dummy End
                                          [odering] => 4
                                          [pfad] => /projekt/start3.php
                                          [parent] => 1
                                          [emenu_id] => 1
                                          [ename_menu] => Main
                                          [eparent] => 0
                                          [eodering] => 1
                                      )
                              
                              )
                              das array habe ich jetzt nach "odering" sotiert, das sieht man ja.

                              mein problem ist dass ich das array so sotieren will
                              z.B

                              godering=1
                              ->eodering=1
                              ->->odering=1
                              ->->odering=2
                              ->->odering=3
                              ->eodering=2
                              godering=2
                              ->eodering=1
                              ->->odering=1
                              ->->odering=2
                              ->->odering=3

                              hoffentlich hast du es verstanden was ich will. Bis jetzt kann ich nur nach ein kreterium(key) sotieren.
                              Ich will das er nach drei kriterium sotiert. Hatte mir so überlegt das er erst nach odering sotiert, wenn die gleich sind dann nach eodering und wenn die gleich sind dann godering. Hoffentich ist der ansatz richtig.
                              Wenn ich falsch liegen oder wenn du eine besser idee hast zu sotieren wäre super.

                              Gruss

                              Hans

                              Kommentar

                              Lädt...
                              X