【问题标题】:echo elements of an stdclass object标准类对象的回显元素
【发布时间】:2014-02-09 05:17:52
【问题描述】:

我们正在使用 api 从特定的基于 web 的调查站点中提取数据,我们需要单独访问(用于存储在数据库中)甚至只是在对象中回显 EmailAddress 组件。我们拥有的对象是:

object(stdClass)[1]
    public 'Results' => 
        array (size=1)0 => 
            object(stdClass)[3]
                public 'EmailAddress' => string 'testemail@test.net' (length=28)
                public 'ListID' => string '947812747189789asf789a7' (length=32)
                public 'ResultsOrderedBy' => string 'email' (length=5)
                public 'OrderDirection' => string 'asc' (length=3)
                public 'PageNumber' => int 1
                public 'PageSize' => int 50
                public 'RecordsOnThisPage' => int 1
                public 'TotalNumberOfRecords' => int 1
                public 'NumberOfPages' => int 1

我们需要做的就是访问/回显 EmailAddress 元素。在堆栈上发现了类似的问题,但答案似乎不适用于这种情况:尝试过

echo $result->Results[0]->EmailAddress; 

echo $result->Results->EmailAddress;

运气不好

谢谢!

【问题讨论】:

  • 你得到的错误是什么?
  • PS stdClass 是对象而非数组,数组索引由 [] 访问,而对象属性由 -> 访问
  • 请输入 echo "
    ";和 print_r 告诉我你的结果

标签: php stdclass surveymonkey


【解决方案1】:

$result->Results[0]->EmailAddress 似乎可行!

但是尝试逐个访问它们,

var_dump($result);
var_dump($result->Results);
var_dump($result->Results[0]);
var_dump($result->Results[0]->EmailAddress);

【讨论】:

    【解决方案2】:

    首先使用 foreach 循环结果,然后使用 key 定义类似这样的电子邮件地址

    foreach ( $result->Results as $key=>$rows ): 
          echo $rows->Email_address; 
    endforeach;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多