Подтвердить что ты не робот

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

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

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

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

Привет

4b9b3361

Ответ 1

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

 $ob->{'Device Vendor'}

Ответ 2

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

$ob->{'Device Vendor'}

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

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

Теперь применяются правила Переменные переменные:

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

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

Ответ 3

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

if $property = 'Device Vendor';

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