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

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

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

Пример:

echo $object->variable; // Ok

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

Ответ 2

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

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

Ответ 3

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

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

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

Ответ 4

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

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

Ответ 5

Нет.

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

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

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

С.