Ankündigung

Einklappen
Keine Ankündigung bisher.

Array Werte sortieren

Einklappen

Neue Werbung 2019

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

  • Array Werte sortieren

    Hallo,

    bin noch nicht ganz so fit was PHP und insbesondere dessen Arrayfunktionen angeht.
    Mein Problem ist, dass ich einen Array habe und diesen nach den Werten sortieren möchte. Das Einzige was klappt ist das Sortieren nach den Elementen. So sieht es bisher aus.

    Code:
    foreach($keywords as $keyword)
      {
      $words = explode(" ",$keyword);
      foreach($words as $word)
        {
        $word = strtolower($word);
        
        if (isset($tags[$word]))
          {
          $tags[$word] += 1;
          }
        else
          {
          $tags[$word] = 1;
          }
        }
      }
    
    krsort($words);
    foreach($tags as $tag)
       {
       }
    
    print_r($tags);

    Ergibt das:
    [abschied] => 1
    [aof] => 1
    [arbeit] => 2
    [berlin] => 2
    [bier] => 2
    [bild] => 1
    [bilder] => 1
    [blog] => 4

    Leider finde ich nichts was die Werte sortiert. Etwa in der Form:
    [blog] => 4
    [arbeit] => 2
    [berlin] => 2
    [bier] => 2
    [abschied] => 1
    [aof] => 1
    [bild] => 1
    [bilder] => 1

    Kann mir da jemand helfen? Danke im Voraus


  • #2
    ksort() und krsort sortieren die Keys des Arrays (deshalb auch das k vor dem sort()). Benutze mal die Funktion rsort(), die sortiert nach den Array-Werten.

    Kommentar


    • #3
      Du suchst arsort() und Du willst $tags sortieren, nicht $words.
      PHP-Code:
      arsort($tags); 

      Kommentar


      • #4
        David hat natürlich recht. Hab mir dein Array zu ungenau angesehen ^^ Habe nur geschaut, ob du nach Keys oder nach Values sortieren willst.

        Kommentar


        • #5
          Danke für die schnellen Antworten. Ich werde es gleich mal ausprobieren

          Kommentar


          • #6
            Hey funktioniert einwandfrei
            Aber da wir gerade bei Arrays sind. Wenn ich nun den ganzen Array mischen möchte (shuffle), dann gehen mir die ganzen keys verloren und ich habe nur noch die gemischten Werte. Ist das normal so oder was mache ich falsch?

            Kommentar


            • #7
              Das ist normal. Was genau willst Du erreichen?

              Kommentar


              • #8
                Ich möchte eine Tag-Cloud basteln. Und die Werte alleine nützen mir nichts. Ausgegeben werden sollen die Keys und die Grösse ist abhängig von den Werten.

                Hier ein Beispiel wie es im Moment aussieht, allerdings sind die Tags sortiert.
                Cloudtag

                Kommentar


                • #9
                  Ähm sind "tag clouds" (glaube das ist der korrekte englische Begriff für "Schlagwortwolke" ^^) nicht meistens alphabetisch sortiert, damit man sich darin besser "zurecht findet"? Dann könntest du auf den shuffle nämlich verzichten und hättest ein Problem weniger.

                  Kommentar


                  • #10
                    Ich weiss nicht genau ob es da eine genau "Definition" gibt, aber oft sieht man es auch gemischt. Ich persönlich finde es auch schön wenn es sich bei jeder Aktualisierung ändert

                    Klar könnte man darauf verzichten, aber würde halt einfach wissen wollen wie es geht

                    Kommentar

                    Lädt...
                    X