Ergebnis 1 bis 3 von 3

Thema: Array nach Wert aufteilen

  1. #1
    Meister(in) Avatar von lukasn
    Registriert seit
    23.02.2008
    Ort
    Schweiz
    Alter
    27
    Beiträge
    491
    Danke
    2
    Bekam 12 mal "Danke" in 11 Postings

    Standard Array nach Wert aufteilen

    Hallo Leute

    Ich steh mal wieder ein bisschen auf dem Schlauch. Folgende Situation:

    Gegeben ist ein Datenbank-Resultat als Array. Darin enthalten ist unter anderem eine Gruppenzugehörigkeit und ein Name. Das Resultat soll jetzt in mehrere Arrays aufgeteilt werden, wobei für jede Gruppe ein Array entstehen soll. Wie würdet ihr die Sache angehen? Muss ich wirklich durch das Array loopen und die Arbeit von Hand machen, oder gibt es da irgend eine Abkürzung?

    Hier noch die gewünschte Ausgangs- und Endsituation als Beispiel:

    Ausgangssituation
    Code:
    Array
    (
        [0] => Array
            (
                [name] => Person0
                [gruppe] => Gruppe1
            )
    
        [1] => Array
            (
                [name] => Person1
                [gruppe] => Gruppe2
            )
    
        [2] => Array
            (
                [name] => Person2
                [gruppe] => Gruppe2
            )
    
        [3] => Array
            (
                [name] => Person3
                [gruppe] => Gruppe3
            )
    
    )
    Wunschsituation
    Code:
    Array
    (
        [Gruppe1] => Array
            (
                [0] => Array
                    (
                        [name] => Person0
                        [gruppe] => Gruppe1
                    )
            )
    
        [Gruppe2] => Array
            (
                [0] => Array
                    (
                        [name] => Person1
                        [gruppe] => Gruppe2
                    )
    
                [1] => Array
                    (
                        [name] => Person2
                        [gruppe] => Gruppe2
                    )
            )
    
        [Gruppe3] => Array
            (
                [0] => Array
                    (
                        [name] => Person3
                        [gruppe] => Gruppe3
                    )
            )
    
    )
    Danke schon im Voraus,
    -Lukas
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von lukasn (29.10.2012 um 12:20 Uhr)

  2. #2
    Bandit
    Gast

    Standard AW: Array nach Wert aufteilen

    Mal abgesehen, dass ich auf die schnelle auch keine Idee habe, aber du baust redundante Daten auf.
    Code:
    [Gruppe1] => Array (
                                  [0] => Array (
                                                        [name] => Person0
                                                        [gruppe] => Gruppe1 
                                                   )
                              )
    da brauchst du [gruppe] => Gruppe1 nicht mehr

  3. #3
    Meister(in)
    Themenstarter
    Avatar von lukasn
    Registriert seit
    23.02.2008
    Ort
    Schweiz
    Alter
    27
    Beiträge
    491
    Danke
    2
    Bekam 12 mal "Danke" in 11 Postings

    Standard AW: Array nach Wert aufteilen

    Stimmt, hab das Beispiel nur so auf die Schnelle geschrieben. Ich hab's jetzt mal vorerst mit einer Helper-Funktion gelöst, die mir halt das (nach Gruppe sortierte) Array durchläuft und die Daten in das Zielarray schreibt. Wenn sich die Gruppe ändert, zähl ich den Array-Key um eins hoch. Funktioniert, ist aber eine etwas klobige Notlösung.

    Falls es jemanden interessiert, oder noch verbessern kann:

    PHP-Code:
    /**
     * Helper function to sort a two dimensional Array into a three dimensional
     * Array grouped by the key passed with the second parameter.
     * 
     * @param mixed $array The input array, sorted by the desired Key.
     * @param string $key The key by which the resulting Array is grouped.
     * @return mixed A 3-Dimensional Array sorted by Key.
     */
    public static function key_split($array$key)
    {
        
    $result = array();
        
    $i 0;
        
    $k $array[0][ $key ];
        
        foreach (
    $array as $item)
        {
            if (
    $item$key ] != $k)
            {
                
    $i++;
                
    $k $item$key ];
            }
            
            
    $result[$i][] = $item;
        }
        
        return 
    $result;

    Geändert von lukasn (29.10.2012 um 14:13 Uhr) Grund: PHP Code repariert

Ähnliche Themen

  1. # JS - String zerlegen, aber nur letzten zerlegten Wert (Array) verwenden
    Von mensaaa im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 19.04.2012, 23:12
  2. Abrunden nach Zahlen aus Array
    Von WWKiller im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 13.12.2011, 21:22
  3. Dateien nach Wert durchsuchen und ausgeben...
    Von majoversum im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 28.09.2006, 17:28
  4. array nach elementen durchsuchen
    Von Ivanman im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 25.07.2006, 15:23
  5. array nach zuordnungszahl durchsuchen...
    Von yngvar im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 27.08.2005, 18:57

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •