2011-04-18 24 views

回答

21

它们是等价的。

$data->{'what * the ! thing'} 

如果转换纯数据数组到对象这有时会发生:如果你想使用可恶的属性的名称,如您只需要第二个版本。

但也有双引号的版本,这使得更多的感觉,当你真正需要的变量属性名称(对象基本上是可变的变量):

$data->{"attr$index"} 
+1

是的。如果可能,请避免使用'$ body - > {'head'}。 – Emmerman 2011-04-18 08:30:59

2

我需要创建一个异常属性名称类像这样{'field-name'}。

class myclass 
{ 
    public {'field-name-with-minus-sign'} = "something"; 
} 

Id不起作用。为什么?我不想用这样的东西:

$myclass = new stdClass(); 
$myclass->{'dumb-property-name'} 

因为我有很多像这样的属性。