Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] array anders darstellen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] array anders darstellen

    hallo,

    ich habe ein array mit ziemlich vielen werten, einige werte kommen auch häufiger vor. ich sortiere das ganze und gebe es dann aus.

    PHP-Code:
    asort($werte);
    foreach(
    $werte AS $name){
        echo 
    $name."<br />";

    die ausgabe sieht dementsprechend dann so aus:

    wert 1
    wert 1
    wert 1
    wert 2
    wert 2
    wert 3

    usw.

    ich würde es aber gerne so lösen, dass die darstellung zb so aussieht:

    wert 1
    wert 1
    wert 1

    wert 2
    wert 2

    wert 3

    oder auch eine ausgabe als tabellenansicht möglich ist, pro gleiche werte eine spalte usw.
    also im endeffekt möchte ich einfach variabler sein in der darstellung der werte.

    da die werte mit denen das array befüllt wird sich ändern können kann ich nicht vorher sagen: mache nach dem block einen schnitt.
    ich suche eine andere möglichkeit das umzusetzen, stehe aber derzeit etwas auf dem schlauch.

    hat jemand einen tip oder denkanstoss für mich?

    schonmal danke für alle antworten.

    grüße nets18


  • #2
    Gruppenbruch (Standardverfahren) - PHP.de Wiki
    --

    „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


    • #3
      cool, danke.

      hab das 1. beispiel auf der seite mal verwendet.

      PHP-Code:
      $last_character null;
      asort($werte);
      foreach(
      $werte AS $name){
          
      $character $name[0];
          if (
      $last_character != $character) {
                  echo 
      "<br />";
              }
           echo 
      '  ' $name '<br />';
              
      $last_character $character;

      problem an der lösung ist aber das es sich nur auf das erste zeichen bezieht. also wenn die ersten 3 zeichen bei 2 werten gleich sind erfolgt keine trennung.

      da muss ich also irgendwie eine schleife reinbasteln die alle zeichen eines wertes durchgeht und dann erst den block abschliesst. oder verstehe ich das falsch?

      Kommentar


      • #4
        Ja verstehst Du. Schnapp Dir das Beispiel und finde heraus, was jede beteiligte Funktion macht und welche Aufgabe sie im Kontext erfüllt. Natürlich kannst DU das Beispiel nicht 1:1 benuzten. Dafür sind die Codebeispiele auch nicht gedacht. Wichtig ist, das Prinzip zu verstehen. Hast Du es verstabnden?
        --

        „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


        • #5
          denk schon dass ich verstehe was es macht. es vergleicht das erste zeichen der aktuellen wertes mit dem ersten zeichen des nächsten/vorherigen? wertes und wenn es sich unterscheidet beendet es den block und beginnt einen neuen.

          bin nur noch nicht dahinter gestiegen wie ich das jetzt für mich richtig nutzen kann. aber das kommt noch

          Kommentar


          • #6
            es vergleicht das erste zeichen der aktuellen wertes mit dem ersten zeichen des nächsten/vorherigen? wertes
            - finde es genau heraus
            - finde heraus, wo das erste Zeichen herkommt.
            --

            „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


            • #7
              *flüstert* Vergleich doch einfach den ganzen String
              "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

              Kommentar


              • #8
                mmh, jetzt weiss ich nicht ob ich mich freuen soll oder nicht

                wollt gerade schreiben das ich keine schleife brauche sondern einfach den wert selber vergleichen muss statt einzelne zeichen. aber du warst nen tick schneller.

                PHP-Code:
                $last_character null;
                asort($werte);
                foreach(
                $werte AS $name){
                    
                $character $name//das [i] einfach weglassen
                    
                if ($last_character != $character) {
                            echo 
                "<br />";
                        }
                     echo 
                '  ' $name '<br />';
                        
                $last_character $character;

                danke für die hinweise und tipps. klappt gut

                Kommentar


                • #9
                  So ganz hast Du es aber noch nicht vestanden oder? Sonst würdest Du sehen, dass bestimmte Variablen einfach unnütz sind, in diesem Code.
                  --

                  „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
                    wie meinst du das? weglassen könnte ich noch $last_character = null; ansonsten ist doch nix mehr drin was unnötig ist oder? war meine erklärung, wie ich das skript verstehe, so verkehrt?

                    Kommentar


                    • #11
                      Soch da ist noch eine ganze Zeile umsonst. Benenn doch erstmal die Variablen passend um, vielleicht siehst DU es dann.
                      --

                      „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


                      • #12
                        okay, wenn das so ist, werde ich mir den spass noch mal anschauen. aber nicht mehr heute. ist spät und ich seh grad nix mehr.

                        trotzdem nochmal danke für die hilfe.

                        Kommentar


                        • #13
                          ich hab mir das nochmal angeschaut aber steige ehrlich gesagt nicht dahinter was hier noch weg kann.

                          vielleicht bist du (oder jemand anderes) ja so freundlich und verrätst es mir.

                          Kommentar


                          • #14
                            Die Initialisierung von $last_character ist sicher nicht ünnütz.
                            Aber warum kopierst du $name erst nochmal in der Gegend herum?
                            **********************************
                            Nein, ich bin nicht die Signatur.
                            Ich putze hier nur.
                            **********************************

                            Kommentar


                            • #15
                              B*i*n*g*o
                              --

                              „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

                              Lädt...
                              X