2017-02-25 27 views
-1

私は以下のような配列の配列を持っていて、それをオブジェクト配列に変換したいと思います。PHPで配列の配列をオブジェクトに変換するには?

array (size=3) 
    'declaration' => 
    array (size=99) 
     'GO_IMPZONK_ID' => string '130334' (length=6) 
     'ID' => string '19802862' (length=8) 
     'CUSTE' => string '10100' (length=5) 
     'DCLEXP' => null 
     'DCL_BROKER_CODE' => string '' (length=0) 
     'RLCCODE' => string '' (length=0) 
    'items' => 
    array (size=1) 
     0 => 
     array (size=50) 
      'GO_IMPDCL_ID' => string '19802862' (length=8) 
      'TARIFYEAR' => string '85' (length=2) 
    'extensions' => 
    array (size=6) 
     0 => 
     array (size=5) 
      'GO_IMPDCL_ID' => string '19802862' (length=8) 
      'TOTVALUE' => string '0.00' (length=4) 
      'EXPDATE' => string '2004-03-20' (length=10) 
     1 => 
     array (size=5) 
      'GO_IMPDCL_ID' => string '19802862' (length=8) 
      'TOTVALUE' => string '0.00' (length=4) 
      'EXPDATE' => string '2004-03-20' (length=10) 

私はこれをこのようにキャストしようとしましたが、オブジェクトを配列内でのみ作成します。

$obj=(object)$array; 

配列から複数レベルのオブジェクトを入れ子にするにはどうすればよいですか?

+3

あなたは '$ ARR = json_decode(json_encode($のARR))を試みることができますか;'? –

+0

$ obj = json_decode(json_encode($ array)); –

+0

[PHPで配列をオブジェクトに変換するにはどうすればいいですか?](http://stackoverflow.com/questions/1869091/how-to-convert-an-array-to-object-in-php) –

答えて

0

私はそうする別の方法を即興:

$ar=[ 
'a'=>[ 
     'field1'=>52, 
     'field2'=>52, 
     'field3'=>52, 
     ], 
'b'=>[ 
     'field1'=>52, 
     'field2'=>52, 
     'field3'=>52, 
     ] 
]; 

function ToObj($data) { 
    if (gettype($data) == 'array') 
    return (object)array_map("ToObj", $data); 
    else 
    return $data; 
} 
$ObjectResult = array_map("ToObj", $ar); 
関連する問題