5

我正在尝试访问从 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

4 回答 4

12

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

echo $list->invoices->{'@attributes'}->total;
于 2013-05-18T23:05:14.593 回答
5
$total = $list->invoices->attributes()->total;
于 2016-01-21T16:43:50.047 回答
3

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

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

 echo (string)$list->invoices['total'];
于 2016-03-19T19:19:50.713 回答
0

在我的情况下,我使用:

$att_side = $xml->item->attributes()->side;
于 2020-08-03T14:30:35.743 回答