Как получить доступ к атрибуту объекта PHP, имеющему знак доллара?

У меня есть объект PHP с атрибутом, имеющим знак доллара ($).

Как получить доступ к содержимому этого атрибута?

Пример :

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

Solutions Collecting From Web of "Как получить доступ к атрибуту объекта PHP, имеющему знак доллара?"

  1. С переменными переменными :

     $myVar = 'variable$WithDollar'; echo $object->$myVar; 
  2. С фигурными скобками:

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

Я предполагаю, что вы хотите получить доступ к свойствам с именами переменных на лету. Для этого попробуйте

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

Благодаря вашим ответам я только узнал, как я могу это сделать так, как планировал:

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

Я был уверен, что раньше я пытался использовать все возможные комбинации.

Вы этого не сделаете.

Знак доллара имеет особое значение в PHP. Хотя можно обойти переменную подстановку в классе / объектах разыменования, которые НИКОГДА не должны делать это.

Не пытайтесь объявлять переменные с литералом '$'.

Если вам приходится иметь дело с беспорядком кого-то – сначала исправьте код, который они написали, чтобы удалить доллары, а затем перейдите и отрубите их пальцы.

C.

Существуют методы отражения, которые также позволяют создавать имена методов и атрибутов, которые могут быть созданы переменными или содержать специальные символы. Вы можете использовать метод ReflectionClass :: getProperty (string $ name).

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