-1

I have an array of arrays like this one below and I want to convert it to object array.

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)

I did try casting it like this but it only makes Object with arrays inside.

$obj=(object)$array;

what can i do to have nesting multi level Objects from my array?

Alive to die - Anant
  • 70,531
  • 10
  • 51
  • 98
morteza kavakebi
  • 1,640
  • 3
  • 18
  • 39

1 Answers1

0

i improvised another way to do so:

$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);
morteza kavakebi
  • 1,640
  • 3
  • 18
  • 39