Ответ 1
Вы используете следующий синтаксис
$ob->{'Device Vendor'}
просто наткнулся на то, чего я раньше не встречал.
У меня есть значение в моей таблице "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};