【问题标题】:Special characters in property name of object对象的属性名称中的特殊字符
【发布时间】:2012-05-04 20:33:48
【问题描述】:

如果我有一个对象包含一个以 % 符号开头的属性,我如何获取它的值。

如果我使用

echo $myobject->%myproperty;

我收到一个错误

Parse error: syntax error, unexpected '%', expecting T_STRING or T_VARIABLE

我知道我不应该在变量名中使用 %,但这不是我做的,我一直坚持下去。

【问题讨论】:

标签: php syntax


【解决方案1】:
echo $myobject->{'%myproperty'};

【讨论】:

  • 五岁了,但仍然是一个糟糕的答案,只有一行代码。
  • @AbraCadaver 我不同意你的观点。您应该将您要编辑的内容发布到我的答案中。
  • 2018 年 5 月,这个答案仍然很棒。谢谢,无需添加更多信息,这很清楚。
  • 试图访问 SimpleXMLElement 对象的“@attributes”属性,但它不起作用。必须将对象转换为数组才能使其工作。奇怪的行为。
  • 2021 年,答案仍然很棒。一行代码中包含一个术语不需要注释。适用于 Twitter 端点,例如 $rate_limits->resources->users->{'/users/'} 甚至 $rate_limits->resources->users->{'/users/:id'} 及其斜杠和冒号。
【解决方案2】:

我还有一种方法可以将对象转换为数组,这样你就不会出错了。

我在对象索引上有一个符号-,所以我使用了上述解决方案并获得了成功。

$array = (array) $yourObject;

参考:http://www.php.net/manual/en/language.types.array.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    相关资源
    最近更新 更多