2010-04-27 158 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