2010-04-27 190 views
1

我在PHP中有一个非常奇怪的属性名称的对象。当它的名字是“//www.w3.org/1999/02/22-rdf-syntax-ns#type”时,我只需要知道如何访问一个属性。使用字符串访问PHP对象

我发现的东西,建议

$object->{'//www.w3.org/1999/02/22-rdf-syntax-ns#type'}; 

,但似乎并没有工作。

在此先感谢

罗布

+1

如果可能的,请提供对象作为序列化的字符串。见http://de3.php.net/manual/en/function.serialize.php – Gordon 2010-04-27 14:45:36

+0

简单的答案。使用Python:P – 2010-04-27 14:49:12

+0

这是令人讨厌的... – 2010-04-27 14:51:39

回答

2

你举的例子对我的作品(PHP 5.2.9和4.4.4):

class A 
{ 

} 

$a = new A(); 
$p = '//www.w3.org/1999/02/22-rdf-syntax-ns#type'; 
$a->$p = 'wtf'; 
echo $a->{'//www.w3.org/1999/02/22-rdf-syntax-ns#type'}; 
echo $a->$p; 
+0

很奇怪,我只是通过字符串访问获得NULL。 但是,将字符串分配给var并在最后一行使用该字符串。 谢谢 Rob – 2010-04-27 15:02:21

+0

好奇。我可以问你正在使用哪个版本? – webbiedave 2010-04-27 15:05:33

+0

5.2.13与Zend 2.2.0。它应该在哪一点工作。很奇怪... – 2010-04-27 15:12:53

0

你试过:

get_object_vars($object)["//www.w3.org/1999/02/22-rdf-syntax-ns#type"]; 
+0

这也适用 谢谢 Rob – 2010-04-27 15:03:54