2012-04-17 59 views
1

我在PHP中有一个名为$ definition的对象。PHP中对象的访问部分

当我

print_r($definition); 

我得到

阵列([0] =>定义对象([extendedText] => [文本] =>任何的家族的几个食肉穴居哺乳动物鼬科,如欧亚大陆的梅尔斯梅勒或北美洲的南方红豆杉,腿短,前爪长爪,外皮厚重。[源代码] => ahd-legacy [citations] => Array()[labels] => Array()[score] => 0 [exampleUses] => Array()[attributionUrl] => [seqString] => [attributionText] =>从T他是美国文化遗产英语词典第4版[relatedWords] => Array()[sequence] => 0 [word] => badger [textProns] => Array()[notes] => Array()[partOfSpeech ] =>名词))

如何打印出“text”和“partOfSpeech”组件?

我试过$定义 - >文本,$定义[0] [ '文本'],$定义[ '文本'] ...

我迷路了......

回答

5

尝试:

echo $definition[0]->text;

echo $definition[0]->partOfSpeech;

其创建的对象作为数组的第一个索引:)

编辑: 使用PHP,你其实可以多个对象存储在阵列中。这是很酷的,因为强似一吨的,为了讨论,以期文章,你可以做喜欢的事,真棒:

<?php 
$articles = array(); 

for($i = 0; $i < 10; $i ++) 
{ 
    $articles[$i] = new Article("Article $i", "Hello, this is $i"); 
} 

?> 

所以在这个例子(和你),而不是设置变量文章到一个对象,我们已经将数组的索引设置为一个对象。

因此,如果我们想拉出第三文章,我们会做:

<?php 
    echo $articles[2]; // remember arrays start at 0 ;) 
?> 

所以你vardump,我们可以看到,其相关的索引为0到该对象。

讨厌它为什么这样做。

你可以做但是这砸:

<?php 
$definition = array_pop($definition[0]); 

echo $definition->text; 
?> 
+1

“你能接受在12分钟内回答” ......在那之前,把我的第一个孩子。 – citruspi 2012-04-17 23:13:02

+0

哈哈哈,谢谢哥们。我会在12分钟内给它回复;) – Menztrual 2012-04-17 23:13:35

+0

不,谢谢...在过去的30分钟里,我一直在拍摄自己... – citruspi 2012-04-17 23:14:20