mySql PHP - 返回带有空格的对象值

时间:2011-07-11 11:27:49

标签: php mysql object space

刚刚遇到过我从未遇到过的事情。 我在表"Device Vendor"中有一个值,我将数据作为对象返回。

通常我会拨打$ob->var_name,但很明显$ob->Device Vendor无效。

如何返回值?

此致

3 个答案:

答案 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};