0

JSON準拠にするために、「フラット」配列から巨大な多次元連想配列を作成する必要があります。

$data = array (
    'Europe',
    'West',
    'Germany',
    'France',
    'Switzerland',
    'East',
    'Czech Republic',
    'Slovakia',
    'Poland')

各エンティティについて、それが統合されているか (ヨーロッパ、西および東)、または基本要素 (つまり、子なし) であるかを言うことができます。

私が達成したいのは、次の配列です。

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [entity] => Europe
                    [children] => Array
                        (
                            [0] => Array
                                (
                                    [entity] => West
                                    [children] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [entity] => France
                                                )
                                            [1] => Array
                                                (
                                                    [entity] => Germany
                                                )
                                            [2] => Array
                                                (
                                                    [entity] => Switzerland
                                                )
                                        )
                                )
                            [1] => Array
                                (
                                    [entity] => East
                                    [children] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [entity] => Czech Republic
                                                )
                                            [1] => Array
                                                (
                                                    [entity] => Slovakia
                                                )
                                            [2] => Array
                                                (
                                                    [entity] => Poland
                                                )
                                        )
                                )
                        )
                )
        )
)

私はすでにそのための再帰関数を書き込もうとしました:

function ListArray($top_elt)
{
    $myarray=array();   
    $myarray[0]['entity']=$top_elt;
        // foreach element of the list
        foreach($children as $child) 
        {
                //element is consolidated : call the recursive function to list the children
                // this is the function that returns whether the element is consolidated or not
                if(palo_etype($connect,'Demo','Regions',$child)=='consolidated')
                {
            $myarray[0]['children'][]['entity']=$child;
            ListArray($child);
        }
                else //basis element
                {
            $myarray[0]['children'][]['entity']=$child;
                }
        }        
        return $myarray;
}

しかし、それはヨーロッパ、西、東のみを返します...

アイデアはありますか?

よろしくお願いいたします。

乾杯、ラルーン

4

0 に答える 0