带有空格的键返回对象值

27

我刚刚遇到了一个我以前从未遇到过的问题。 我在我的表中有一个"设备供应商"的值,我正在返回一个对象的数据。

通常,我会调用$ob->var_name,但显然$ob->Device Vendor不起作用。

我该如何返回这个值?

谢谢。


你试过 $ob->'Device Vendor' 吗? - Haim Evgi
不太确定,但你试过 $obj->'设备厂商' 吗? - ianbarker
2个回答

70

您使用以下语法

 $ob->{'Device Vendor'}

16

语法如下:

$ob->{'Device Vendor'}
我很难在PHP手册中找到关于这个问题的明确参考。恐怕只有在你已经知道答案的情况下才能推断出来。在Classes and Objects-> Properties中,他们说:

类成员变量称为“属性”。[...] 它们是通过使用 public,protected 或 private 中的一个关键字,后跟普通变量声明来定义的。

现在适用的规则是变量变量

为了在数组中使用变量变量,您必须解决一个歧义问题。也就是说,如果您写$$a [1],那么解析器需要知道您是否打算将$a [1]用作变量,或者您是否想要使用$$a作为变量,然后从该变量中获取[1]索引。解决这种歧义的语法为:${$a [1]} 第一种情况和 ${$a} [1] 第二种情况。

我们基本上是“滥用”变量变量,以便我们可以使用空格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接