mySql PHP – возвращает значение объекта с пробелом в ключе

просто наткнулся на то, с чем я никогда не сталкивался. У меня есть значение в моей таблице "Device Vendor" и я возвращаю данные os для объекта.

обычно я бы назвал $ob->var_name но, очевидно, $ob->Device Vendor не будет работать.

Как вернуть значение?

С уважением

Вы используете следующий синтаксис

  $ob->{'Device Vendor'} 

Синтаксис таков:

 $ob->{'Device Vendor'} 

Мне трудно найти явную ссылку на это в руководстве по PHP. Я боюсь, что это нужно сделать, и вы можете сделать это, только если знаете ответ. В классах и объектах-> Свойства они говорят:

Переменные элемента класса называются «свойствами». […] Они определяются с использованием одного из ключевых слов public, protected или private, за которым следует объявление нормальной переменной.

Правила, которые применяются сейчас, являются переменными переменными :

Чтобы использовать переменные переменные с массивами, вы должны решить проблему двусмысленности. То есть, если вы пишете $$ a 1, тогда анализатор должен знать, хотите ли вы использовать $ a 1 в качестве переменной, или если вы хотите $$ a как переменную, а затем индекс 1 из этой переменной. Синтаксис для устранения этой двусмысленности: $ {$ a 1 } для первого случая и $ {$ a} 1 для второго.

Мы в основном злоупотребляем переменными переменными, поэтому мы можем использовать пробел.

Замените пробелы символами подчеркивания в имени свойства с именем свойства в любом нижнем регистре:

 if $property = 'Device Vendor'; use $property = 'device_vendor'; $ob->{$property};