PHP对象在变量名中有分号(或其他奇怪的字符)

Mik*_*ike 2 php xml variables escaping

我有一个对象,在属性名称中包含分号,当我var_dump时,我得到:

object(Sales) {

    [thisisa:propertyname] => 'some value'

}
Run Code Online (Sandbox Code Playgroud)

那么,我该如何进入该物业?$ object-> thisisa:propertyname抛出错误.我刚才读到某个地方你可以包装thisisa:某些字符中的属性名称(我试过{,[,(,|)但我不记得哪个.

此外,似乎使用:

$var = "thisisa:propertyname";
$object->$$var;
Run Code Online (Sandbox Code Playgroud)

也不起作用.

救命!

麦克风

gnu*_*nud 8

尝试

echo $object->{'thisisa:propertyname'};
Run Code Online (Sandbox Code Playgroud)

另外,对于变量成员变量,一个$就足够了.所以

$attr = "thisisa:propertyname";
echo $object->$attr;
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记引号:`$ object - > {'thisisa:propertyname'}`或`$ object - > {"thisisa:propertyname"}`. (2认同)