刚刚遇到过我从未遇到过的事情。
我在表"Device Vendor"
中有一个值,我将数据作为对象返回。
通常我会拨打$ob->var_name
,但很明显$ob->Device Vendor
无效。
如何返回值?
此致
答案 0 :(得分:46)
您使用以下语法
$ob->{'Device Vendor'}
答案 1 :(得分:11)
语法是:
$ob->{'Device Vendor'}
我很难在PHP手册中找到对此的明确引用。我担心它需要推断,如果你已经知道答案,你只能这样做。他们在Classes and Objects-> Properties说:
类成员变量称为“属性”。 [...]他们是定义的 使用其中一个关键字public,protected或private,紧随其后 通过正常的变量声明。
现在适用的规则是Variable variables:
为了将变量变量与数组一起使用,您必须解析一个 歧义问题。也就是说,如果您编写$$ 1,则解析器需要 要知道你是否打算使用$ 1作为变量,或者你想要使用$ a 作为变量,然后是该变量的1索引。语法 解决这种歧义的原因是:第一个案例的$ {$ a 1}和 第二个$ {$ a} 1。
我们基本上滥用变量变量,因此我们可以使用空格。
答案 2 :(得分:0)
使用全部小写的属性名称替换属性名称中带下划线的空格:
if $property = 'Device Vendor';
use $property = 'device_vendor';
$ob->{$property};