Ankündigung

Einklappen
Keine Ankündigung bisher.

Arrays zusammenfügen

Einklappen

Neue Werbung 2019

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

  • Arrays zusammenfügen

    Hallo Leute,

    Meine erste Frage hier ist gleich eine ziemliche kniffliche, zuminderst für mich der noch nicht viel Ahnung von dem ganzen hat.

    Ich habe 2 Arrays die ich zusammenfügen will und dannach richtig sortieren.

    Der erste Array
    PHP-Code:
    array(20) { [0]=>  array(4) { ["summe"]=>  string(8"01:00:00" ["bezeichnung"]=>  string(33"Allgemeine Aufgaben (nicht Büro)" ["nummer"]=>  string(1"1" ["Fahrer"]=>  string(6"Ferstl" } ... 
    Das zweite
    PHP-Code:
    array(53) { [0]=>  array(4) { ["summe"]=>  string(8"03:00:00" ["kennung"]=>  string(2"18" ["nummer"]=>  NULL ["Fahrer"]=>  string(6"Ferstl" }... 
    Wie ihr seht ist das eine Art Tabelle mit 4 Spalten und haufen Werte. Ich will jetzt aus den 2 Arrays eins machen, dabei soll einfach alle Zeilen eingefügt werden. Der Spalte 2 heisst einmal bezeichnung einmal kennung. Ist aber egal sind beide strings.

    Später soll nach Fahrer sortiert werden, also alle "Ferstl" zusammen stehen, dannach alle "Huber" usw ...

    Ist das möglich, wenn ja wie?

  • #2
    Lies doch das erste Array schritt für Schritt aus und füge jede Stelle zum anderen hinzu.
    Stichwort: Schleifen.
    Und sortieren kannst du auch über eine Schleife.
    Look at This!
    Digital-Duty.DE
    Für Syntax-Fehler übernehme ich keine Haftung!

    Kommentar


    • #3
      Die Schlagwörter - die du selbst benutzt hast - sind "Array" plus "Zusammenfügen" und plus "Sortieren", wozu dein Freund Google bereits in den ersten Treffern die benötigten Funktionen anzeigt:

      PHP: array_merge - Manual

      PHP: usort - Manual

      Kommentar


      • #4
        PHP: array_merge - Manual
        array_merge() überschreibt aber bei zwei gleichen Schlüssel-Namen (String!) den ersten!
        So wie die Arrays aussehen, denke ich, daß ihm damit nicht geholfen ist...

        Dann wäre die Iteration über foreach() imho besser geeignet.
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Also ich habe das Problem umgangen indem ich die Arrays jetzt einheitlich aufbaue und dann zusammen führe, das auch kein Problem nur mit dem sortieren der Multidim. Arrays komm ich gar nicht klar da ich ja mit Text sortieren muss.

          Für Hilfe wäre ich echt sehr dankbar

          Kommentar


          • #6
            PHP: usort - Manual

            Beispiel #2
            PHP-Code:
            <?php
            function cmp($a$b)
            {
                return 
            strcmp($a["frucht"], $b["frucht"]);
            }

            $fruechte[0]["frucht"] = "Zitronen";
            $fruechte[1]["frucht"] = "Aepfel";
            $fruechte[2]["frucht"] = "Orangen";

            usort($fruechte"cmp");

            while (list(
            $key$value) = each($fruits)) {
                echo 
            "\$fruechte[$key]: " $value["frucht"] . "\n";
            }
            ?>
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              array_merge_recursive - hier werden sie geholfen
              PHP: array_merge_recursive - Manual

              Was genau soll denn mit gleichen Keys geschehen?
              "My software never has bugs, it just develops random features."
              "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

              Kommentar


              • #8
                also ich hab da mal schnell was vorbereitet:
                willst du so etwas?

                PHP-Code:
                <?php
                error_reporting
                (-1);
                $arr1 = array (
                            array(
                               
                "summe" => "01:00:00",
                               
                "bezeichnung" => "Allgemeine Aufgaben (nicht Büro)",
                               
                "nummer" => "1",
                               
                "Fahrer" => "Ferstl"
                            
                ),
                            array(
                               
                "summe" => "13:37:00",
                               
                "bezeichnung" => "42",
                               
                "nummer" => NULL,
                               
                "Fahrer" => "Las Miranda"
                            
                ),
                        );
                        
                $arr2 = array (
                            array(
                               
                "summe" => "03:00:00",
                               
                "bezeichnung" => "18",
                               
                "nummer" => NULL,
                               
                "Fahrer" => "Ferstl"
                            
                ),
                            array(
                               
                "summe" => "02:00:00",
                               
                "bezeichnung" => "17",
                               
                "nummer" => NULL,
                               
                "Fahrer" => "Nasebär"
                            
                ),
                        );
                $res array_merge_recursive($arr1$arr2);
                echo 
                '<pre>'.print_r($res,1).'</pre>';
                Ausgabe ist dann die folgende:
                PHP-Code:
                Array
                (
                    [
                0] => Array
                        (
                            [
                summe] => 01:00:00
                            
                [bezeichnung] => Allgemeine Aufgaben (nicht Büro)
                            [
                nummer] => 1
                            
                [Fahrer] => Ferstl
                        
                )

                    [
                1] => Array
                        (
                            [
                summe] => 13:37:00
                            
                [bezeichnung] => 42
                            
                [nummer] => 
                            [
                Fahrer] => Las Miranda
                        
                )

                    [
                2] => Array
                        (
                            [
                summe] => 03:00:00
                            
                [bezeichnung] => 18
                            
                [nummer] => 
                            [
                Fahrer] => Ferstl
                        
                )

                    [
                3] => Array
                        (
                            [
                summe] => 02:00:00
                            
                [bezeichnung] => 17
                            
                [nummer] => 
                            [
                Fahrer] => Nasebär
                        
                )


                "My software never has bugs, it just develops random features."
                "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                Kommentar

                Lädt...
                X