如何访问具有美元符号的PHP对象属性?

时间:2010-01-19 11:46:58

标签: php oop

我有一个PHP对象,其中包含一个带有美元($)符号的属性。

如何访问此属性的内容?

示例:

echo $object->variable; // Ok

echo $object->variable$WithDollar; // Syntax error :-(

5 个答案:

答案 0 :(得分:40)

  1. 使用variable variables

    $myVar = 'variable$WithDollar';
    echo $object->$myVar;
    
  2. 用大括号:

    echo $object->{'variable$WithDollar'};
    

答案 1 :(得分:3)

我假设您想要动态访问具有变量名称的属性。为此,请尝试

echo $object->{"variable".$yourVariable}

答案 2 :(得分:3)

感谢您的回答,我发现了如何以我的方式做到这一点:

echo $object->{'variable$WithDollar'}; // works !

我很确定我之前尝试过各种组合。

答案 3 :(得分:1)

有一些反射方法也允许您构造可以由变量构建或包含特殊字符的方法和属性名称。您可以使用ReflectionClass :: getProperty(string $ name)方法。

$object->getProperty('variable$WithDollar');

答案 4 :(得分:1)

你没有。

美元符号在PHP中具有特殊意义。虽然可以在解除引用类/对象属性时绕过变量替换,但您永远不应该这样做。

不要尝试使用文字“$”声明变量。

如果你不得不处理某人的混乱 - 首先修复他们写下的代码以移除美元,然后去掉他们的手指。

下进行。