Print_r()和符号(@)

时间:2011-06-22 17:08:29

标签: php

在这种情况下,如何使用at符号(@) - @order访问属性? 这是print_r函数的输出:

[0] => stdClass Object
    (
        [@order] => 0
        [name] => Arthotel Munich
        [address1] => Paul-Heyse-Strasse 10
        [city] => Munich
        [postalCode] => 80336
        [countryCode] => DE
        [airportCode] => MUC

    )

我尝试过$ object-> @order,$ object [@order],$ object :: order。他们都没有工作。

2 个答案:

答案 0 :(得分:6)

可以做到

echo $object->{'@order'};

variable variable

$name = '@foo';
echo $object->$name;

但是像托马拉克指出的那样,你想改变那个属性名称。它导致了fubar代码。

答案 1 :(得分:4)

对象属性的规则类似于任何其他变量名称的规则。

因此,名为@order的属性不合法。称之为其他没有疯狂符号的东西。

可以通过转换将数组转换为对象来解决这种情况。