0

リストをオブジェクトに変換する再帰関数の作成に問題があります。

   location :
       12 : 
         label : 'city 1'
         children:
              13 :
                label:'city2'
                children :
                   14 : 
                     label : 'city3'
                   15 : 
                     label : 'city4'
                     children :
                            16 : 
                                  .....
                                 .....

              122 :
                label : 'city 100'

    ........

したがって、上記のすべてのリストを含むオブジェクトを返す再帰関数を次のように作成したいと考えています。

 public static function getLocation($config , $id )
 {
    $id= current($config['id'])
    $label =   $config['id']['label']
    $children = $config['id']['label']['children']
    ....
    if(!empty($children) ){

    }else{

       foreach( ){
           getLocation($config , $id );
       }
    }
    return $obj;

 }
4

1 に答える 1

0

配列を std クラスに変換する場合は、次のスクリプトを使用できます。

function arrayToObject($d) {
    if (is_array($d)) {
        /*
        * Return array converted to object
        * Using __FUNCTION__ (Magic constant)
        * for recursive call
        */
        return (object) array_map(__FUNCTION__, $d);
    }
    else {
        // Return object
        return $d;
    }
}
于 2012-09-27T14:29:17.183 に答える