Empfehlungen: Erweiterte Suche

Datenstruktur komprimieren/HowTo

Daten auslesen, verarbeiten und den Views übergeben

Datenstruktur komprimieren/HowTo

Beitragvon Baeckerlehrling » Fr 19. Mär 2010, 12:12

Hallo!

Ich habe folgende Datenstruktur (vereinfacht) aufgebaut:
Ein Array mit Objekten A,B,C
Ziel ist ein Array mit unique A Objekten, deren B und C Objekte als Array unter den zugehörigen A-Objekte hängen

Folgender Code funktioniert,
Code: Alles auswählen
   foreach ($objects as $object) {
        $newStructure[$object['A']['id']]['A'] = $object['A'];
        $newStructure[$object['A']['id']]['X'][] = array('B' => $object['B'], 'C' => $object['C']);
      }
 


aber ich stelle mir die Frage, ob/wie man diese Aufgabe mittels der Set::extract, Set::insert, etc. Methoden eleganter lösen kann.


Code: Alles auswählen

Array
(
    [0] => Array
        (
            [A] => Array
                (
                    [id] => 1
                )

            [B] => Array
                (
                    [id] => 23
                )

            [C] => Array
                (
                    [id] => 1036
                )

        )

    [1] => Array
        (
            [A] => Array
                (
                    [id] => 1
                )

            [B] => Array
                (
                    [id] => 21
                )

            [C] => Array
                (
                    [id] => 1038
                )

        )

    [2] => Array
        (
            [A] => Array
                (
                    [id] => 2
                )

            [B] => Array
                (
                    [id] => 77
                )

            [C] => Array
                (
                    [id] => 1044
                )

        )

    [3] => Array
        (
            [A] => Array
                (
                    [id] => 2
                )

            [B] => Array
                (
                    [id] => 79
                )

            [C] => Array
                (
                    [id] => 1046
                )

        )

    [4] => Array
        (
            [A] => Array
                (
                    [id] => 3
                )

            [B] => Array
                (
                    [id] => 50
                )

            [C] => Array
                (
                    [id] => 1057
                )

        )

)


Als Ziel würde ich mir folgenden Aufbau wünschen

Code: Alles auswählen
Array
(
    [0] => Array
        (
            [A] => Array
                (
                    [id] => 1
                )
            [X]
              [0] => Array (
                 [B] => Array
                     (
                         [id] => 23
                     )

                 [C] => Array
                     (
                         [id] => 1036
                     )
              )
              [1] => Array (

                 [B] => Array
                     (
                         [id] => 21
                     )

                 [C] => Array
                     (
                         [id] => 1038
                     )
              )

        )


    [2] => Array
        (
            [A] => Array
                (
                    [id] => 2
                )
            [X]
                [0]
                     [B] => Array
                         (
                             [id] => 77
                         )

                     [C] => Array
                         (
                             [id] => 1044
                         )
                [1]
                     [B] => Array
                         (
                             [id] => 79
                         )

                     [C] => Array
                         (
                             [id] => 1046
                         )

        )
)
Baeckerlehrling
 
Beiträge: 5
Registriert: Do 25. Feb 2010, 17:39

Zurück zu Controller

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron