PHP数组的stdClass,如何获取数据?

时间:2012-04-24 17:03:59

标签: php arrays stdclass

我想打印[name]的值。我只是熟悉standard defined classes以及如何调用它们。

基于此示例和逻辑

$arrayobj = new ArrayObject(array('first','second','third'));
print_r($arrayobj);
//outputs: ArrayObject Object ( [0] => first [1] => second [2] => third )

有了这个。我试图从这里提取名称(Pebbles)的值。

print_r($terms);
/* outputs
Array ( [3] => stdClass Object ( [term_id] => 3 [name] => Pebbles ) )
*/

所以我试过

echo $terms[0]->name;

吃了花生。我该怎么做?

4 个答案:

答案 0 :(得分:5)

列出的唯一数组键是[3]Array ( [3] => stdClass...),因此请使用

echo $terms[3]->name;

即使它是一个数字索引数组,但这并不意味着它以索引0开头,甚至没有顺序键。

通过循环获取所有内容:

foreach ($terms as $t) {
   echo $t->name;
}

答案 1 :(得分:2)

如果我错了,请纠正我,但你可以对它们进行类型转换。

$terms = (array) $terms;

通过以下方式使其成为正常的数组:

$terms[3]['name']

答案 2 :(得分:1)

您可以使用以下内容:

echo $terms[3]->name ;

答案 3 :(得分:0)

要显示对象名称的值,可以使用以下命令:

    echo $this[3]->name;