phparraysobjectsoapstdclass

How to access stdClass Multi level object or array?


I had to make a particularly complex SOAP request in PHP and seem to have received back objects within objects. I need to get a particular value for example "session_token". I can var_dump the request and even turn it in to an array but I can't access individual elements. Please help!

Objects:

stdClass Object ( [login_response] => stdClass Object 
    ( [response_context] => stdClass Object 
        ( [session_token] => b1043dcb82625701188ffff03572 
            [response_status] => OK [response_message] => Login successful 
                )))) 

Converted array:

Array ( [0] => 
    Array ( [response_context] => 
        Array ( [session_token] => b1043dcb82625701188ffff03572 
            [response_status] => OK [response_message] => Login successful
             ) ) ) 

Solution

  • If you leave it as an object, and there is not reason not to.

    echo $obj->login_response->response_context->session_token;
    echo $obj->login_response->response_context->response_status;
    echo $obj->login_response->response_context->response_message;
    

    will output

    b1043dcb82625701188ffff03572
    OK
    Login successful