Специальные символы в имени свойства объекта

17

Если у меня есть объект, который содержит свойство, начинающееся с символа%, как я могу получить его значение.

Если я использую

echo $myobject->%myproperty;

Я получаю сообщение об ошибке

Parse error: syntax error, unexpected '%', expecting T_STRING or T_VARIABLE

Я знаю, что не должен использовать% в именах переменных, но это не мое дело, и я застрял с ним.

    
задан Murtnowski 04.05.2012 в 22:33
источник
  • Связано: Как получить доступ к свойствам объекта с именами, такими как целые числа? –  hakre 31.03.2013 в 16:44

2 ответа

44
echo $myobject->{'%myproperty'};
    
ответ дан Brad 04.05.2012 в 22:35
источник
  • @Kemal, спасибо за редактирование. Хороший улов. –  Brad 04.05.2012 в 22:35
  • ewwwwwww; но спасибо! –  TextGeek 22.03.2016 в 20:19
  • Пять лет, но все же плохой ответ, всего одна строка кода. –  AbraCadaver 17.10.2017 в 20:11
  • @AbraCadaver Я не согласен с вами. Вы должны опубликовать свой собственный ответ с тем, что вы собираетесь редактировать в моем. –  Brad 17.10.2017 в 20:12
  • май 2018 года, и этот ответ по-прежнему велик. Спасибо, не нужно добавлять дополнительную информацию, это кристально ясно, как есть. –  GrafiCode Studio 30.05.2018 в 16:37
0

У меня есть еще одно решение для преобразования объекта в массив, так что вы не получите ошибку.

У меня есть символ - по индексу объекта, поэтому я использовал вышеупомянутое решение и получил успех.

$array = (array) $yourObject;

Ссылка: Ссылка

    
ответ дан Rahul Yadav 18.11.2015 в 11:51
источник