Multidimensionales Array in Eindimensionales Array konvertieren

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
Working...
X