对象中的对象在对象中的数组中?如何检索数据


Object in Object in Array in Object? How do I retrieve data?

如何在AB_ID中检索ID和Name?我不想在foreach内部循环,因为总会有一个结果,这似乎是不必要的。(除非这是唯一的方法)。

这是PHP。

print_r($response); // gives data below.  truncated.
QueryResult Object
(
    [queryLocator] => 
    [done] => 1
    [records] => Array
        (
            [0] => stdClass Object
                (
                    [Account_Name] => business_name
                    [Account] => account_no
                    [AB] => 12344567
                    [AB_more] => stdClass Object
                        (
                            [Id] => 123445
                            [Name] => Test 3
                        )

我目前正在做的事情:

foreach($response as$key=>$val){$name=$val->帐户名称#返回business_name$account=$val->account#返回account_no$ab=$val->ab#返回12334567//下面什么都不起作用$ab_id=$val->ab_more->id$ab_id=$val->ab_more.id$ab_id=$val->ab_more[0]->id

谢谢!

根本没有循环:

$response->records[0]->Account_Name;  # business_name
$response->records[0]->Account;       # account_no
$response->records[0]->AB;            # 12344567
$response->records[0]->AB_more->Id;   # 123445
$response->records[0]->AB_more->Name; # "Test 3"

一个循环:

foreach( $response->records[0] as $result ) {
    echo $result->Account_Name;
    echo $result->Account;
    echo $result->AB;
    echo $result->AB_more->Id;
    echo $result->AB_more->Name;
}

将StdClass对象转换为数组

PHP.net 上的get_object_vars()

我建议使用get_object_vars将标准类对象转换为数组。对两个内部对象都执行此操作。通过这种方式,您可以直接调用[记录][Id]或[记录][名称]。

只有我的两美分。希望这能有所帮助!