从php对象访问@attribute

时间:2013-05-18 23:02:18

标签: php

我正在尝试从API返回的PHP对象中访问值。我试图获得'总'属性。

stdClass Object
(
    [@attributes] => stdClass Object
        (
            [status] => ok
        )

    [invoices] => stdClass Object
        (
            [@attributes] => stdClass Object
                (
                    [page] => 1
                    [per_page] => 25
                    [pages] => 1
                    [total] => 5
                )

我返回的对象存储在名为$ list。

的变量中
$list->invoices->attributes->total

我正在尝试回复/ print_r,但什么都没有?

感谢任何帮助!

4 个答案:

答案 0 :(得分:8)

@是属性名称的一部分,您不能忽略它。

echo $list->invoices->{'@attributes'}->total;

答案 1 :(得分:4)

$total = $list->invoices->attributes()->total;

答案 2 :(得分:1)

事实证明,您甚至不需要指定@attributes来读取此数据。得到它的关键技巧是将结果转换为字符串。

所以,我知道这看起来很奇怪,但在这种情况下会有效:

 echo (string)$list->invoices['total'];

答案 3 :(得分:0)

我使用的是:

$att_side = $xml->item->attributes()->side;