Arrays "zusammenlegen"

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

  • Arrays "zusammenlegen"

    Hallo liebe Leute!

    Ich möchte zwei oder mehr Arrays so zusammenlegen, dass sie zusammen ein Arraybilden, das ... naja ... am besten erkennt man es am Beispiel...

    Hier ein Beispiel mit zwei einfachen Arrays:
    PHP-Code:
    $a = array(
    => 0,
    => 0,
    => 0,
    31 => 1,
    32 => 1,
    => 0,
    => 0,
    => 0,
    );

    $b = array(
    => 0,
    => 0,
    => 0,
    => 0,
    => 0,
    51 => 1,
    52 => 1,
    521 => 2,
    522 => 2,
    53 => 1,
    54 => 1,
    => 0,
    );

    // ...

    // Resultat:
    $result = array(
    => 0,
    => 0,
    => 0,
    31 => 1,
    32 => 1,
    => 0,
    => 0,
    51 => 1,
    52 => 1,
    521 => 2,
    522 => 2,
    53 => 1,
    54 => 1,
    => 0,
    ); 
    Die Indizes sowie auch deren Reihenfolge müssen beibehalten werden (das ist hier ziemlich wichtig).
    Ich habe versucht mit array_merge() zu arbeiten und auch mit einem einfachen Plus zwischen den Arrays; ich kam bei diesem und bei weiteren Versuchen aber nie zum gewünschten Ergebnis.

    Wie kann man die beiden (oder beliebig viele) Arrays auf die gewünschte Weise "zusammenlegen"?
    Die Reihenfolge, in der die Arrays zusammengelegt werden, darf hier keine Rolle spielen (also $a + $b und $b + $a sollen zum gleichen Ergebnis führen).

    Zuletzt geändert von Maranello-550; 13.09.2005, 19:54.
    arrays sind klasse

  • #2
    was heißt, du kommst nicht zum gewünschten ergebnis?

    array_merge ist schon richtig.

    was stört dich dann noch? Dann beheb' das doch

    array_unique

    should work

    Kommentar


    • #3
      array_merge() legt die Indizes neu fest, doch gerade auf die kommt es mir an.
      arrays sind klasse

      Kommentar


      • #4
        da kannste mal sehen, dass ich nur noch die theorie kenne.

        dann würd ich mit ner schleife arbeiten, die das zweite in das erste packt. dann kannste dir das unique auch sparen.

        Das mit den Keys nehme ich dir noch nicht so ganz ab.
        Zuletzt geändert von TobiaZ; 13.09.2005, 19:58.

        Kommentar


        • #5
          Also gerade getestet:

          Wenn ich

          $a + $b

          nehme, bleiben die Keys erhalten. So stehts übrigens auch im Manual. Was ist also dein Prob? Wieso soll das bei dir nicht klappen?

          Kommentar


          • #6
            Das geht ja auch, nur die Reiehnfolge bleibt nicht erhalten. Hier werden nur die Einträge, deren Indizes nicht schon im ersten Array stehen, einfach an das erste Array angehängt. Sie müssen aber an die passende Stelle eingeshcoben werden.

            arrays sind klasse

            Kommentar


            • #7
              dann würde ich sagen, such mal ne fkt, die dein array nach den keys sortiert. Es geht dir ja um die "aufsteigende" Sortierung. Musst nur darauf achten, dass du die keys nicht als nummer, sondern als string sortierst.

              that should it be.

              ansonsten musse halt wirklich von hand über ne schleife machen.

              Kommentar


              • #8
                Original geschrieben von TobiaZ
                that should it be.
                OffTopic:
                SPO ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Nene... die Indizes können nicht sortiert werden, da es mir auf deren Reihenfolge ankommt. Ich habe sie im Beispiel nur der Einfachheit halber von 1 aufsteigend gekennzeichnet.

                  Dann muss es wohl tatsächlich beschwerlich über ne Schleife gehen. Doch wie genau? Ne Idee?
                  arrays sind klasse

                  Kommentar


                  • #10
                    selber drüber nachgedacht? Wie machst du es bei dir im Kopf? Genauso muss dein Code laufen.

                    Kommentar


                    • #11
                      Ich denke und denke, doch bleib ich im Moment stecken. Gibt es noch weitere Möglichkeiten mehrere Arrays miteinander zu "vereinen", außer mit Plus oder array_merge() ???
                      arrays sind klasse

                      Kommentar


                      • #12
                        array verrät es dir

                        Kommentar

                        Lädt...
                        X