访问对象值

时间:2015-11-05 23:10:34

标签: php

很抱歉,如果这是一个特别愚蠢的问题,但现在已经很晚了,我会稍微绕过这个问题。

我有一个从echo '<pre>';print_r($r);echo '</pre>';给出的API返回的对象:

stdClass Object
(
    [id] => 49
    [submitdate] => 2015-11-05 14:33:16
    [lastpage] => 4
    [startlanguage] => en
    [Qu1[SQ001]] => Fred Bloggs
    [Qu1[SQ003]] => Caretaker
    [Feedback] => Great course, thank you
)

echo '<p>Feedback: '.$r -> Feedback.'</p>';行显示“很棒的课程,谢谢你”,但echo '<p>'.$r -> Qu1 -> SQ001.'</p>';没有显示'Fred Bloggs',而是收到错误:Notice: Undefined property: stdClass::$Qu1

请有人告诉我我做错了什么?

2 个答案:

答案 0 :(得分:1)

你可以用两种方式做到(可能还有更多,但我只知道两种:))

<强> 1)

$obj['a'] = "A";
$obj['b'] = "B";
$obj['c'] = "C";
$obj['get[d]'] = "D";
$obj['get[E]'] = "E";
$obj = (object) $obj;
echo "This is: ".$obj->{'get[d]'}.PHP_EOL;
echo "This is: ".$obj->{'get[E]'}.PHP_EOL;

将输出

This is: D
This is: E

<强> 2)

另外,您可以使用get_object_vars()获取对象的属性  州

  

get_object_vars - 获取给定对象的属性

所以,

$array = get_object_vars($obj); 
echo "This is: ".$array['get[E]']." but getting from array";

<强> DEMO

答案 1 :(得分:0)

尝试:

  

$ r - &gt;魁[SQ001]

Qui看起来是一个数组所以$ r - &gt; Qui - &gt; SQ001不起作用