属性名称中的PHP冒号

tuc*_*son 6 php arrays

我有一个变量$ entry,设置为:

stdClass对象([im:name] => stdClass对象([label] => Amazing Breaker)等.

如何获取"Amazing Breaker"的值?

我试图定义一个常量:

define("IMNAME", 'im:name');
Run Code Online (Sandbox Code Playgroud)

但使用:

foreach ($json_output->feed->entry as $entry) {
if (isset($entry->IMNAME->label))
Run Code Online (Sandbox Code Playgroud)

返回FALSE.

问题似乎是冒号.对于没有冒号的密钥,代码将返回TRUE.

mar*_*rio 34

对于"特殊"属性名称,您可以使用带花括号的自由格式语法:

if (isset($entry->{'im:name'}->label))
Run Code Online (Sandbox Code Playgroud)


Jam*_*mes 5

大括号!

echo $Node->{'im:name'}->label;
Run Code Online (Sandbox Code Playgroud)

基本上,我们使用的是Variable变量.