douwen7905
douwen7905
2017-09-11 14:07

如何在PHP中访问嵌套数组的stdClass对象[重复]

已采纳

This question already has an answer here:

I have php array like

Array 
( 
[0] => stdClass Object 
    ( [type] => MILESTONE
      [creator] => xyz 
      [tpid] => abc 
      [docname] => STS 
      [items] => stdClass Object 
        ( 
            [MILESTONE_CODE] => ARPOD 
            [MILESTONE_TYPE] => ACT 
            [MILESTONE_DESCRIPTION] => Arrival at Port of Discharge 
            [TRIGGER_EVENT] => Y [ENVIRONMENT] => T 
        ) 
    ) 
[1] => stdClass Object 
    ( 
        [type] => MILESTONE 
        [creator] => xyz 
        [tpid] => abc 
        [docname] => STS 
        [items] => stdClass Object 
        ( 
            [MILESTONE_CODE] => BKD 
            [MILESTONE_TYPE] => EST 
            [MILESTONE_DESCRIPTION] => Booking created 
            [TRIGGER_EVENT] => N 
            [ENVIRONMENT] => P 
        ) 
    ) 
)

There are 2 php files written

File 1: In this file I am decoding my json data and got above array

$data = json_decode(file_get_contents("php://input"));

 // print_r($data);exit;

foreach ($data as $value){

$TP->createTPConfig($data);  // Here I am calling method for each index of array
} 

File 2: In this file I have written method to insert data into oracle database.

function createTPConfig($dataToBeInsert){

// print_r($dataToBeInsert);exit; // till here I am getting above array

// written insert query here 

}

Now in File 2, I want to access array values of

[type], [creator], [tpid], [docname]

and again

I want to foreach(repeat) loop for [items]

and want to access keys and values of

[MILESTONE_CODE], [MILESTONE_TYPE], [MILESTONE_DESCRIPTION] and [TRIGGER_EVENT]

and insert both keys and values into database

Can anyone help ... your help would be appreciated!

</div>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • dpeqsfx5186 dpeqsfx5186 4年前

    Just change

    $data = json_decode(file_get_contents("php://input"));
    

    to

    $data = json_decode(file_get_contents("php://input"), true);
    

    This will give you a full-fledged array. Obligatory man link: json decode

    点赞 评论 复制链接分享

相关推荐