Multidimensionales Array in Eindimensionales Array konvertieren

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

  • Multidimensionales Array in Eindimensionales Array konvertieren

    Moin allerseits.

    Ich hab ein kleines Problemchen, sollte eigentlich einfach zu lösen sein. Aber ich komme derzeit nicht auf die Lösung.

    Also folgendes, ich habe ein Multidimensionales Array:
    PHP-Code:
    Array
    (
        [
    0] => Array
            (
                [
    wgroup_title] => A
                
    [wgroup_sort] => 1
                
    [wgroup_child] => Array
                    (
                        [
    0] => Array
                            (
                                [
    wgroup_title] => A.A
                                
    [wgroup_sort] => 1
                                
    [wgroup_child] => Array
                                    (
                                        [
    0] => Array
                                            (
                                                [
    wgroup_title] => A.A.A
                                                
    [wgroup_sort] => 1
                                                
    [wgroup_child] => Array
                                                    (
                                                    )

                                            )

                                        [
    1] => Array
                                            (
                                                [
    wgroup_title] => A.A.B
                                                
    [wgroup_sort] => 2
                                                
    [wgroup_child] => Array
                                                    (
                                                    )

                                            )

                                    )

                            )

                        [
    1] => Array
                            (
                                [
    wgroup_title] => A.B
                                
    [wgroup_sort] => 2
                                
    [wgroup_child] => Array
                                    (
                                    )

                            )

                        [
    2] => Array
                            (
                                [
    wgroup_title] => A.C
                                
    [wgroup_sort] => 3
                                
    [wgroup_child] => Array
                                    (
                                    )

                            )

                    )

            )

        [
    1] => Array
            (
                [
    wgroup_title] => B
                
    [wgroup_sort] => 2
                
    [wgroup_child] => Array
                    (
                        [
    0] => Array
                            (
                                [
    wgroup_title] => B.A
                                
    [wgroup_sort] => 1
                                
    [wgroup_child] => Array
                                    (
                                    )

                            )
                    )
            )

    Das Array möchte ich in ein Eindimensionales Array konvertieren. Das Array sollte wie folgt aussehen:

    PHP-Code:
    Array
    (
        [
    0] => Array
            (
                [
    wgroup_title] => A
                
    [wgroup_sort] => 1
            
    )

        [
    1] => Array
            (
                [
    wgroup_title] => A.A
                
    [wgroup_sort] => 1
            
    )

        [
    2] => Array
            (
                [
    wgroup_title] => A.A.A
                
    [wgroup_sort] => 1
            
    )

        [
    3] => Array
            (
                [
    wgroup_title] => A.A.B
                
    [wgroup_sort] => 2
            
    )
                    
        [
    4] => Array
            (
                [
    wgroup_title] => A.B
                
    [wgroup_sort] => 2
            
    )
                    
        [
    5] => Array
            (
                [
    wgroup_title] => A.C
                
    [wgroup_sort] => 2
            
    )
                    
        [
    6] => Array
            (
                [
    wgroup_title] => B
                
    [wgroup_sort] => 2
            
    )
                    
        [
    7] => Array
            (
                [
    wgroup_title] => B.A
                
    [wgroup_sort] => 2
            
    )

    Meine Funktion die das bisher lösen sollte sieht so aus:
    PHP-Code:
        function _sortWaregroupArray($arr_to_sort$arr_new = array(), $arr_duplicat = array())
        {
            for ( 
    $i 0$i sizeof($arr_to_sort); $i++ )
            {
                
                if ( !
    in_array($arr_to_sort[$i]["wgroup_ID"], $arr_duplicat) )
                {
                    
    $idx sizeof($arr_new);
                    foreach ( 
    $arr_to_sort[$i] as $k => $v )
                    {
                        if ( 
    $k != "wgroup_child" )
                            
    $arr_new[$idx][$k] = $v;
                    }
                    
                    
    $arr_duplicat[] = $arr_to_sort[$i]["wgroup_ID"];
                    
                }
                
                if ( 
    sizeof($arr_to_sort[$i]["wgroup_child"]) > )
                 return    
    $this->_sortWaregroupArray($arr_to_sort[$i]["wgroup_child"], $arr_new$arr_duplicat);
                
    #else
                    #return $this->_sortWaregroupArray($this->arr_waregroup, $arr_new, $arr_duplicat);
            
    }
            
            return 
    $arr_new;
        } 
    Irgendwo muss mein Denkfehler liegen, aber ich find ihn einfach nicht.

    Wäre schön wenn mir jemand auf die Sprünge helfen könnte.
    Dafür schonmal vielen Dank!!

    greatz reallife
Lädt...
X