Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Userliste: Nachnamen auf ein Minimum verkürzen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Userliste: Nachnamen auf ein Minimum verkürzen

    Hallo zusammen,

    ich bräuchte mal einen kleinen Denkanstoß zu folgendem Problem, hoffen ihr könnt mir helfen:
    Ein Script verwaltet die Kontaktdaten der User, diese sind in einer Datenbank gespeichert. Nun möchte ich gerne eine Liste aller Benutzer ausgeben lassen. Allerdings soll dabei der Nachname auf ein Minimum verkürzt werden.

    Beispiele:
    Es gibt nur einen Klaus in der Liste, Angezeigt werden soll: Klaus
    Es gibt zwei Lisas in der Liste, die eine heißt Schmidt, die andere Fischer. Angezeigt werden soll: Lisa S und Liste F
    Es gibt zwei Max in der Liste, der eine heißt Müller, der andere Maier. Angezeigt werden soll: Max Mü und Max Ma

    Ich komm da leider zu keinem wirklich guten Schluss, vielleicht habt ihr ja noch eine Idee. Vielen Dank schonmal!

    Grüße,
    Kort
    "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." - Linus Torvalds, 1996


  • #2
    Das „Minimum“ definierst du also als die minimale Anzahl Buchstaben, die vom Nachnamen ausgegeben werden müssen, damit zwei (oder mehr) Leute mit gleichen Vornamen eindeutig unterscheidbar sind?


    Nun, dann solltest du deine Daten erst mal nach den Vornamen gruppieren, damit du dann alle Nachnamen zu einem Vornamen in einem Rutsch vergleichen kannst.

    Und dann musst du dir eine Möglichkeit überlegen, alle diese Nachnamen zeichenweise zu vergleichen. Ab der Position, ab der einer dieser Nachnamen sich von allen anderen (bzw. restlichen) unterscheidet, kannst du ihn dann abschneiden.
    Dabei musst du noch ein bisschen aufpassen, was unterschiedliche Längen angeht - sonst gibt dir der Versuch „Meiermann“ mit „Meier“ zu vergleichen, einen Fehler, wenn du beim sechsten Zeichen angekommen bist.


    Allerdings solltest du dir noch mal gründlich überlegen, ob das in dieser Form umgesetzt wirklich optimal ist.
    Ob die Nutzer wirklich ihre Nachnahmen mit „Po“, „Ass“, „Dick“ etc. abgekürzt haben wollen, weil das die Position ist, ab der sich ihr Nachname von den anderen hinreichend eindeutig unterscheidet, erscheint mit nämlich fragwürdig.

    Ich komm da leider zu keinem wirklich guten Schluss
    Ich finde es immer extrem schade bzw. ärgerlich, wenn Leute mit solchen Aussagen ankommen - weil das meist bedeutet, dass sie entweder selber noch nicht mal einen Ansatz entwickelt haben, oder dass sie gar nicht programmieren können (und dann läuft es idR. wieder auf „macht mir das mal einer“ hinaus).

    Kommentar


    • #3
      Hallo Chris B,

      zunächst einmal vielen Dank für deine Antwort und den neuen Denkanstoß mit den unpassenden Abkürzungen.
      Über den Vorgang des Vergleichens bin ich mir klar und auch, dass ich die Daten zuerst nach Vornamen sortieren muss um dann die Nachnamen vergleichen zu können. Für diese Erkenntnis muss ich allerdings auch nicht in ein PHP-Forum gehen, da kann ich auch ein Schulkind fragen.
      Was mich interessiert ist natürlich die technische Umsetzung dieses Problems oder zumindest einen Schubs in die richtige Richtung. Vielleicht gibt es ja mit MySQL eine Möglichkeit? Mit Arrays natürlich auch, wobei ich das nicht ganz so sauber finde.


      Dein letzter Kommentar stimmt mich leider ein bisschen traurig. Es tut mir leid, dass du da schlechte Erfahrungen gemacht hast. Wenn du allerdings mal schaust, siehst du, dass mein letzter Beitrag in diesem Forum über vier Jahre zurückliegt. Leider muss ich feststellen, dass sich in den vier Jahren offensichtlich am menschlichen Umgang nichts verändert hat, schade.

      Ich stelle in einem Forum nur eine Frage, wenn ich selbst nicht zu einer Lösung des Problems komme. Das habe ich auch in diesem Fall getan, mit der Erkenntnis, dass das einzelne Vergleichen der Datensätze mittels eines Arrays o.ä. ein zielführender, aber auch sehr rechenintensiver Vorgang ist. Diese Herangehensweise ist sicher für kleine Benutzergruppen denkbar, dürfte jedoch bei wachsender Benutzerzahl zunehmend aufwendig werden. Vor allem, weil bei jeder Namensänderung oder neuem Benutzer der komplette Vorgang neu angestoßen werden müsste.

      Ich hatte mehr in die Richtung MySQL gehofft, dass man durch ein geschicktes Statement das DBMS dazu bringen kann diese Aufgabe zu übernehmen.

      Viele Grüße,
      Kort
      "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." - Linus Torvalds, 1996

      Kommentar


      • #4
        Zitat von Kort Beitrag anzeigen
        Über den Vorgang des Vergleichens bin ich mir klar und auch, dass ich die Daten zuerst nach Vornamen sortieren muss um dann die Nachnamen vergleichen zu können. Für diese Erkenntnis muss ich allerdings auch nicht in ein PHP-Forum gehen, da kann ich auch ein Schulkind fragen.
        Und warum beschreibst du dann nicht, dass du dir das schon so gedacht hast?

        Das kann ich nicht ahnen - also muss ich erst mal annehmen, dass du dir noch überhaupt keinen Plan gemacht hast.


        Was mich interessiert ist natürlich die technische Umsetzung dieses Problems oder zumindest einen Schubs in die richtige Richtung.
        Wenn du Probleme hast, die verbale Beschreibung umzusetzen - dann erwarte ich wenigstens einen Ansatz von dir. Den können wir dann diskutieren, ggf. nach den Fehlern suchen, die du gemacht hast, etc.

        Ich stelle in einem Forum nur eine Frage, wenn ich selbst nicht zu einer Lösung des Problems komme. Das habe ich auch in diesem Fall getan, mit der Erkenntnis, dass das einzelne Vergleichen der Datensätze mittels eines Arrays o.ä. ein zielführender, aber auch sehr rechenintensiver Vorgang ist.
        Du hast kein Wort davon erwähnt, dass du dir selber schon Gedanken in diese Richtung gemacht hast.
        Alle deine angeblichen eigenen „Erkenntnisse“ und Gedanken hast du uns vorenthalten.

        Also darfst du mir auch nicht übel nehmen, wenn ich erst mal den Eindruck habe, dass du bisher selber noch so gut wie gar nichts geleistet hast, um zu einer Lösung des Problems zu kommen.

        Diese Herangehensweise ist sicher für kleine Benutzergruppen denkbar, dürfte jedoch bei wachsender Benutzerzahl zunehmend aufwendig werden. Vor allem, weil bei jeder Namensänderung oder neuem Benutzer der komplette Vorgang neu angestoßen werden müsste.
        Dazu, welche Größenordnung an Daten du erwartest, hast du auch kein Wort geschrieben.


        Ich hatte mehr in die Richtung MySQL gehofft, dass man durch ein geschicktes Statement das DBMS dazu bringen kann diese Aufgabe zu übernehmen.
        Auch das hast du mit keinem Wort erwähnt.
        Und du hast es auch nicht im Datenbank-Forum gepostet, sondern unter PHP.



        Du erwartest reichlich viel hellseherische Fähigkeiten von den Lesern deiner Fragestellung, findest du nicht auch?


        Leider muss ich feststellen, dass sich in den vier Jahren offensichtlich am menschlichen Umgang nichts verändert hat, schade.
        Es scheint sich leider auch nie was an der Art zu ändern, wie Leute ihre Fragen stellen und ihre Probleme beschreiben.
        Es ist fast immer nötig, Details zum Problem erst in langwierigen Rückfrageprozessen zu ermitteln - Details, die eigentlich schon ganz von Anfang an in der Problembeschreibung hätten erwähnt werden sollen.

        Schau dir bitte noch mal den ersten Satz meiner vorherigen Antwort an - selbst das musste ich noch als Frage formulieren, weil ich es mir nur aus deinem Beispiel herleiten konnte. Hättest du dir einen Zacken aus der Krone gebrochen, wenn du das gleich klar und deutlich beschrieben hättest?

        Kommentar


        • #5
          Hallo ChrisB,

          ich erwarte keine hellseherischen Fähigkeiten, sondern hatte eigentlich gehofft, dass es Leute gibt, die so etwas schonmal umgesetzt haben und hätte gerne gewusst wie (oder auch Leute, die dazu eine gute Idee haben).

          Dass ich meinen eigenen Ansatz nicht dazu geschrieben habe, hatte durchaus seinen Sinn, da ich auch Raum für Spekulationen lassen wollte. Vielleicht hast du schonmal davon gehört, dass wenn man Suggestivfragen stellt, die Antwort immer den selben Weg einschlägt, den man mit der Frage vorgegeben hat. Wenn ich also alle Richtungen offen lassen möchte, sage ich m. E. meinen Ansatz erstmal nicht.

          Leider ist meine Zeit zu knapp (ja ich habe noch ein echtes Leben) um mich mit auch noch mit deinen persönlichen Problemen zu meiner Fragestellung auseinander setzen zu können. Ich werde auf einem anderen Weg versuchen mir Hilfe zu holen.

          Ich danke dir trotzdem für die Mühe,
          Kort
          "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." - Linus Torvalds, 1996

          Kommentar


          • #6
            Zitat von Kort
            ich erwarte keine hellseherischen Fähigkeiten, sondern hatte eigentlich gehofft, dass es Leute gibt, die so etwas schonmal umgesetzt haben und hätte gerne gewusst wie (oder auch Leute, die dazu eine gute Idee haben).
            Zitat von ChrisB
            Nun, dann solltest du deine Daten erst mal nach den Vornamen gruppieren, damit du dann alle Nachnamen zu einem Vornamen in einem Rutsch vergleichen kannst.

            Und dann musst du dir eine Möglichkeit überlegen, alle diese Nachnamen zeichenweise zu vergleichen. Ab der Position, ab der einer dieser Nachnamen sich von allen anderen (bzw. restlichen) unterscheidet, kannst du ihn dann abschneiden.
            Dabei musst du noch ein bisschen aufpassen, was unterschiedliche Längen angeht - sonst gibt dir der Versuch „Meiermann“ mit „Meier“ zu vergleichen, einen Fehler, wenn du beim sechsten Zeichen angekommen bist.
            Das ist doch ne gute Idee und Hilfestellung!
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              Hi!

              Das ist tatsächlich so und habe das auch so aufgefasst. Hauptsächlich habe ich mich tatsächlich über den m. E. doch sehr unnötigen Kommentar am Beitragsende aufgeregt.

              Dass ich nicht dazugeschrieben habe, dass ich in diese Richtung bereits gedacht habe, ist wie gesagt beabsichtigt gewesen. Dass das hier falsch aufgefasst wurde tut mir leid.

              Viele Grüße,
              Jan
              "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." - Linus Torvalds, 1996

              Kommentar


              • #8
                Kommentar hin oder her, wichtig ist, daß Dich diese Hilfestellung weiterbringen sollte.
                Wenn nicht sag' woran es scheitert, dann können wir näher darauf eingehen.
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  Hallo,

                  ich verstehe leider auch nicht, warum du jetzt lieber das Weite suchst, anstatt mal vernünftig über dein Problem zu diskutieren.
                  Für diese Erkenntnis muss ich allerdings auch nicht in ein PHP-Forum gehen, da kann ich auch ein Schulkind fragen.
                  Leider kennen wir deine genauen Programmierkenntnisse nicht und viele Anfänger brauchen sehr oft Tipps dieser Art.
                  Wenn ich also alle Richtungen offen lassen möchte, sage ich m. E. meinen Ansatz erstmal nicht.
                  Da hier Eigeninitiative gefordert wird, ist das Posten von eigenen Ansätzen "Pflicht". So sind die Regeln, wir geben nun mal nicht gerne die kostenlosen Dienstleister.
                  Dabei ist es auch völlig egal ob du das anders gemeint hattest oder bereits Ansätze vorliegen, diese uns aber aus welchem Grund auch immer nicht zeigen wolltest. Wenn das der Fall ist, solltest du uns das auch mitteilen. Wir kennen dich nämlich nicht!

                  Vielleicht versuchst du es noch mal

                  Gruß
                  http://hallophp.de

                  Kommentar


                  • #10
                    Ich äußere hier nur sachlich, dass ich mir bei vielen Fragern etwas mehr Eigeninitiative wünschen würde.

                    Und dafür muss man sich dann sowas wie „das hätte mir auch ein Schulkind sagen können“ anhören, oder auch „habe noch ein echtes Leben“ und „deine persönlichen Probleme mit meiner Fragestellung“ ...

                    Und solche Leute, die so vom Leder ziehen, wagen dann noch was von „menschlichen Umgangsformen“ zu faseln?

                    Sorry, dafür habe ich echt kein Verständnis.

                    Wenn du hier schon Hilfe bekommen willst, dann solltest du wenigstens deinen Teil leisten - und dazu gehört für mich sowohl eine klare Fragestellung, aus der man nicht erst mal per Vermutung herauslesen muss, was genau du umsetzen willst, als auch die Beschreibung dessen, was du dir bisher dazu überlegt hast.


                    Vielleicht hast du schonmal davon gehört, dass wenn man Suggestivfragen stellt, die Antwort immer den selben Weg einschlägt, den man mit der Frage vorgegeben hat. Wenn ich also alle Richtungen offen lassen möchte, sage ich m. E. meinen Ansatz erstmal nicht.
                    Das kann ich absolut nicht so sehen.
                    Wir sagen den Leuten hier idR. deutlich, wenn ihr Ansatz problematisch ist, und wir uns bessere Wege vorstellen können.

                    Das ist also in meinen Augen ein reines Pseudo-Argument, das rechtfertigen soll, dass du bisher noch kaum eine Eigenleistung erbracht hast, was dein Problem angeht.

                    Kommentar


                    • #11
                      Danke für deine Erklärungen Asipak. Die Zeiten haben sich wohl gewandelt. Ich möchte vielleicht doch noch einen Versuch starten und werde mal das posten, was ich mir bereits überlegt habe.

                      Meine Überlegung war eine Klasse/Funktion zu basteln, die nach jeder Änderung der Daten Vor-/Nachname oder beim Anlegen und Löschen von Mitarbeitern angestoßen wird.

                      Diese Funktion soll nun zunächst einmal alle Benutzer aus der Datenbank auslesen, das Ganze sortiert nach Vornamen ASC, Nachnamen ASC. Nun werden diese Daten in einem Array abgelegt, sodass die Vornamen in der zweiten Dimension stehen und in der dritten Dimension der Nachname. Als Variablenwert würde dann die Benutzer ID stehen.

                      Beispiel:
                      Code:
                      $AlleNamen['Dieter']['Braun']      = 12
                      $AlleNamen['Dieter']['Schmid']     = 146
                      $AlleNamen['Dieter']['Schulze']    = 64
                      $AlleNamen['Karin']['Fischer']     = 85;
                      $AlleNamen['Karin']['Weber']       = 251;
                      $AlleNamen['Stefan']['Zimmermann'] = 5;
                      Wenn dieses Array aufgebaut ist, würde ich als nächsten Schritt foreach-Schleifen verschachteln, sodass jeder Vorname durchgegangen wird und in der nächsten Ebene die Nachnamen. Dann allerdings scheitere ich mit meinem Ansatz, denn ich komme nicht darauf, wie ich die Nachnamen dann Zeichen für Zeichen vergleichen kann, sodass am Ende ungefähr folgendes Ergebnis entsteht:

                      Code:
                      $Verkuerzung[12]  = 'Dieter B.';
                      $Verkuerzung[146] = 'Dieter Schm.';
                      $Verkuerzung[64]  = 'Dieter Schu.';
                      $Verkuerzung[85]  = 'Karin F.';
                      $Verkuerzung[251] = 'Karin W.';
                      $Verkuerzung[5]   = 'Stefan';
                      Eine eventuelle Lösung wäre ein neues Array aufzubauen, indem jeder Buchstabe des Nachnamens in einer Dimension gespeichert ist. Dann könnte man sich ja per count() und entsprechend der Dimension verschachtelten foreach-Schleifen ausgeben lassen, wie viele Buchstaben dieser Art es gibt. Diese Lösung empfinde ich aber als sehr unschön. Beispiel:

                      Code:
                      $Buchstaben['Dieter']['B']['r']['a']['u']['n'] = 12;
                      $Buchstaben['Dieter']['S']['c']['h']['m']['i']['d'] = 146;
                      $Buchstaben['Dieter']['S']['c']['h']['u']['l']['z']['e'] = 64;
                      Viele Grüße,
                      Jan
                      "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." - Linus Torvalds, 1996

                      Kommentar


                      • #12
                        Nach einer entsprechenden Vorsortierung nach Vor- und Zuname, interessiert dich ja offensichtlich nur noch der Unterschied der Nachnamen, richtig?
                        Ich könnte mir vorstellen, dass PHP: strncmp - Manual für dich interessant sein könnte.
                        http://hallophp.de

                        Kommentar


                        • #13
                          Zitat von Kort Beitrag anzeigen
                          Code:
                          $AlleNamen['Dieter']['Braun']      = 12
                          $AlleNamen['Dieter']['Schmid']     = 146
                          $AlleNamen['Dieter']['Schulze']    = 64
                          $AlleNamen['Karin']['Fischer']     = 85;
                          $AlleNamen['Karin']['Weber']       = 251;
                          $AlleNamen['Stefan']['Zimmermann'] = 5;
                          Die ID zu behalten, um das Ergebnis dieser Operation wieder zuordnen zu können, ist schon nicht schlecht.

                          Der Aufbau des Arrays ist allerdings nicht so optimal; wenn du das eher so aufbaust
                          Code:
                          $AlleNamen['Dieter'][0] = array('Braun', 12);
                          $AlleNamen['Dieter'][1] = array('Schmid', 146);
                          $AlleNamen['Dieter'][2] = array('Schulze', 64);
                          $AlleNamen['Karin'][0] = array('Fischer', 85);
                          ...
                          - dann kannst du sehr viel leichter „alle“ Dieter und alle Karins in einer Schleife durchlaufen, und dich dabei um den Vergleich der Nachnamen kümmern.

                          sodass am Ende ungefähr folgendes Ergebnis entsteht:
                          Code:
                          $Verkuerzung[12]  = 'Dieter B.';
                          $Verkuerzung[146] = 'Dieter Schm.';
                          Das könnte man zwar machen - aber es würde reichlich redundante Information bedeuten.
                          Eigentlich brauchst du doch nur die Länge bzw. Anzahl Zeichen, die vom Nachnamen ausgegeben werden sollen, abzuspeichern. Dann kannst du beim Auslesen der Daten für die Anzeige da den „Schnitt“ machen - das darf auch gern jedes Mal on-the-fly geschehen, denn Zeichenkettenoperationen a la substr sind nun wirklich nicht teuer.

                          Meine Überlegung war eine Klasse/Funktion zu basteln, die nach jeder Änderung der Daten Vor-/Nachname oder beim Anlegen und Löschen von Mitarbeitern angestoßen wird.
                          An der Stelle kann man natürlich noch optimieren - so dass man nicht alle Mitarbeiter erneut ausliest und untersucht, sondern wenn bspw. ein neuer „Dieter“ hinzukommt, dann braucht man auch nur die bisher schon eingetragenen „Dieter“ erneut bearbeiten und ggf. den Zeichen-abschneide-Zähler neu zu setzen, und kann dabei die „Karins“ und den Rest vollkommen in Ruhe lassen.

                          Kommentar


                          • #14
                            Hallo ChrisB und Asipak,

                            vielen Dank für eure Antworten. Habe versucht mal die Tipps aufzunehmen und bin nun etwas weiter. Leider hänge ich immernoch an der ähnlichen Stelle wie zuvor.

                            Ich habe jetzt mal probeweise ein PHP-Script erstellt, das ich euch gerne zeigen möchte. Ist leider ein bisschen länger, sorry.

                            PHP-Code:
                            <?php
                            $query 
                            'SELECT ma_id,ma_vorname,ma_nachname FROM datenbestand_mitarbeiter ORDER BY ma_vorname ASC,ma_nachname ASC';
                            $sql   mysql_query($query);

                            // Alle Namen in einem mehrdimensionalen Array ablegen
                            while ($row mysql_fetch_assoc($sql)) {
                                
                            $AlleNamen[$row['ma_vorname']][] = array('nachname' => $row['ma_nachname'], 'userid' => $row['ma_id']);
                            }

                            // Vornamen durchlaufen
                            foreach ($AlleNamen as $Vorname => $Nachnamen) {
                                
                            // Schauen, wie viele Nachnamen zu dem Vornamen exisitieren und diese Info ablegen
                                
                            $AnzahlDerNachnamen count($Nachnamen);
                                
                                
                            // Wenn nur ein Nachname zu einem Vornamen existiert, hier beenden
                                
                            if ($AnzahlDerNachnamen == 1) {
                                    
                            $BenutzerID $Nachnamen[0]['userid'];
                                    
                            $AnzuzeigendeLaengeNachname[$BenutzerID] = 0;
                                    continue;
                                }
                                
                                
                            // Sind wir hier gelandet, so existieren mehrere Nachnamen zu einem Vornamen
                                // Wir vergleichen nun immer den aktuellen Vornamen mit dem vorherigen. Da die Daten
                                // nach dem Alphabet sortiert sind, können wir davon ausgehen, dass zwischen zwei
                                // gleichen (Anfangs-)buchstaben keine anderen folgen.
                                
                            for ($i=1;$i<$AnzahlDerNachnamen;$i++) {
                                    
                            $IDAktuellerNachname  $i;
                                    
                            $IDVorherigerNachname $i-1;
                                    
                                    if (
                            strncmp($Nachnamen[$IDAktuellerNachname]['nachname'],$Nachnamen[$IDVorherigerNachname]['nachname'],1) != 0) {
                                        
                            // Die beiden ersten Buchstaben der verglichenen Nachnamen sind unterschiedlich
                                        // Das bedeutet, dass zumindest der vorherige Nachname vom aktuellen unterscheidet
                                    
                            } else {
                                        
                            // Die beiden ersten Buchstaben der verglichenen Nachnamen sind gleich
                                        // Hier müsste jetzt eine weitere Verschachtelung kommen, in der der nächste Buchstabe geprüft wird.
                                    
                            }
                                }
                            }
                            ?>
                            Ich hoffe ihr könnt meinen Gedanken in dem Codestück einigermaßen folgen. Meine konreten Probleme jetzt gerade sind noch:
                            • Wie vergleicht man jetzt weiter, wenn zumindest festgestellt wurde, dass der erste Buchstabe des Nachnamens der gleiche ist?
                              Mein Lösungsansatz: Den Teil des Nachnamens in einem neuen Array ablegen, der noch nicht eindeutig ist. Danach mit einem irgendwie gearteten Schleifenkonstrukt das selbe tun, was im oberen Script für den ersten Buchstaben getan wird. Dieser Vorgang muss dann eben genau so lange wiederholt werden, bis der Teilname eindeutig ist. Ich kann mir nur noch nicht ganz vorstellen, wie ich in PHP diese Baumstruktur an Schleifen erstellen kann.
                            • strncmp kann ja nur 2 Parameter vergleichen, was ist aber, wenn drei Nachnamen mit den selben Buchstaben beginnen?
                              Lösungsansatz: Fehlt mir noch komplett...


                            Viele Grüße,
                            Kort
                            "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." - Linus Torvalds, 1996

                            Kommentar


                            • #15
                              /1 Ich weiß nicht genau, in welche Richtung du denkst, aber möglicherweise bietet sich dabei Rekursion an. Ein Blatt Papier kann bei komplexen Problem sehr hilfreich sein.

                              /2 Du könntest dir eine eigene Sortierfunktion schreiben, die beliebig viele Parameter annehmen kann (=> http://php.net/usort oder über PHP: func_get_args - Manual) und für dich die Sortierung übernimmt. Das würde dann wohl in Richtung Bubblesort – Wikipedia - Algorithmus gehen.
                              http://hallophp.de

                              Kommentar

                              Lädt...
                              X