Arrays sortieren ?!

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

  • Arrays sortieren ?!

    Hi ich habe forlgendes Problem:

    Ich habe mehrere Arrays bei denen die jeweiligen Werte zusammen gehören, also $ar1[2] zu $ar2[2] usw.

    Jetzt möchte ich alle Arrays nach einem (in dem Zahlen enthalten sind) sortieren, dabei darf wie eben erwähnt nichts durcheinander geraten.

    Habe mich natürlich im Forum umgeguckt aber das hat mir nicht geholfen. Im PHP-Handbuch habe ich etwas gefunden, allerdings verstehe ich trotz Beschreibung nicht wie ich die Funktion anwenden muss:


    PHP:


    array_multisort($ar1,$ar2,$ar3,$ar4,$ar5,SORT_DESC);



    In $ar5 sind Zahlen enthalten, nach den sollen alle Arrays sortiert werden, ich habe schon einiges probiert aber es klappt einfach nicht...

    Kann mir bitte jemand helfen ??

    mfg eye

  • #2
    Mhn, erklär nochmal genauer was du sortieren willst..
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

    Kommentar


    • #3
      In $ar5 habe ich z.B. die Zahlen 4, 1, 5, 3, und 2 (in der Reihenfolge).

      (Alle Arrays sind miteinander "verknüpft", also '4' gehört zu $ar1[0] und $ar2[0] usw.)

      Jetzt möchte ich $ar5 nach absteigenden Zahlen sortieren und dabei sollen alle anderen Arrays mitsortiert werden.

      Hoffe ich habs diesmal verständlicher beschrieben

      mfg eye

      Kommentar


      • #4
        ???
        PHP Code Schnipsel

        Kommentar


        • #5
          also n bisschen mehr code wird schon benötigt, aber bitte die PHP Tags benutzen.
          ...so raff ich net genau was du willst...
          Sunshine CMS
          BannerAdManagement
          Borlabs - because we make IT easier
          Formulargenerator [color=red]Neu![/color]
          Herkunftsstatistik [color=red]Neu![/color]

          Kommentar


          • #6
            OffTopic:
            ab ins Bett mit dir, Benny !


            An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

            Kommentar


            • #7
              Und wieso gehört 4 zu $var[0] $var2[0] usw.?

              Geb bitte ein richiges Beispiel, also wo für du das ganze machen sollst (wenn du es nicht sagen darfst, mach was vom Prinzip gleiches) und was du alles an Daten hast.
              PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

              Kommentar


              • #8
                Hi nochmal ;-)

                Dies soll ein kleines Gästebuch werden,
                bis auf's Sortieren geht auch alles.

                Hier ein bisschen Code:

                $texts = array();
                $posttimes = array();
                $editcounts = array();
                $edittimes = array();
                $numbers = array();

                for($i = 0; $i < 5; $i++)
                {
                --> Hier steht noch Code mit dem die Daten in
                ($text,$posttime,$editcount,$edittime)
                eingelesen werden, z.B. so:

                $file_text = fopen("$i.txt", "r+");
                $text = fgets($file_text);
                fclose($file_text);
                <--

                array_push($texts,$text);
                array_push($posttimes,$posttime);
                array_push($editcounts,$editcount);
                array_push($edittimes,$edittime);
                array_push($numbers,$i);
                }

                Nach der Schleife stecken in $texts 5 verschiedene Texte
                und in $posttime 5 verschiedene Zeiten

                Somit gehört die Zeit die in $posttimes[2] ist
                zu dem Text in $texts[2], desswegen darf dies beim sortieren nicht
                durcheinander gebracht werden ;-)

                $entries = array($texts,$posttimes,$editcounts,$edittimes,$numbers);

                Jetzt möchte ich alle Arrays nach dem Array $numbers sortieren,
                damit ich die einzelnen Beiträge auch in umgekehrter Reihenfolge
                auflisten kann.
                Zuletzt geändert von insane.eye; 26.09.2004, 21:32.

                Kommentar


                • #9
                  wenn ich ds richtig verstanden hab hast du ein 2-dimensionales array und
                  nun willst du das ganze ding nach einem element sortieren.

                  eine, wenn auch umständliche Methode währe:

                  ein array erstellen, das die zu sortierenden werte enthält und als bezeichner die Eintrag ID

                  etwa so:

                  $variable[ID]=$wert

                  nun kannst du per asort das array sortieren, dann kommt dann sowas bei raus:

                  $variable[3]=0
                  $variable[999]=1
                  $variable[54]=2 ... etc.

                  nun kannst du per while list das array durchgehen und dir die Entsprechenden Ergänzungswerte nach der jeweiligen ID zurückgeben lassen, vorausgesetzt das nun eben auch ein array :

                  $variableA[ID]=$wertA
                  $variableB[ID]=$wertB
                  $variableC[ID]=$wertC

                  besteht

                  ... so würd ich ds machen ... wenn auch kompliziert ....
                  sorry, hab noch die Programmierung vom C64 drinn

                  Kommentar


                  • #10
                    http://www.php.net/forum/showthread....threadid=37531

                    hth
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Habe es jetzt so ähnlich gemacht, nun klappt's !!

                      Danke für den Tipp !!

                      mfg eye

                      Kommentar

                      Lädt...
                      X