2011-10-11 56 views
0

认为我发疯了,但认为我已经尝试了一切可能!stdClass(再次)

得到了像这样的对象;

object(stdClass)#9 (8) { 
    ["Results"]=> 
    array(3) { 
    [0]=> 
    object(stdClass)#10 (5) { 
     ["EmailAddress"]=> 
     string(22) "[email protected]" 
     ["Name"]=> 
     string(13) "Daniel Crabbe" 
     ["Date"]=> 
     string(19) "2011-07-11 13:00:00" 
     ["State"]=> 
     string(6) "Active" 
     ["CustomFields"]=> 
     array(0) { 
     } 
    } 
    [1]=> 
    object(stdClass)#11 (5) { 
     ["EmailAddress"]=> 
     string(12) "[email protected]" 
     ["Name"]=> 
     string(13) "Daniel Crabbe" 
     ["Date"]=> 
     string(19) "2011-10-11 12:43:00" 
     ["State"]=> 
     string(6) "Active" 
     ["CustomFields"]=> 
     array(0) { 
     } 
    } 
    [2]=> 
    object(stdClass)#12 (5) { 
     ["EmailAddress"]=> 
     string(23) "[email protected]" 
     ["Name"]=> 
     string(12) "Nicola Price" 
     ["Date"]=> 
     string(19) "2011-08-25 16:24:00" 
     ["State"]=> 
     string(6) "Active" 
     ["CustomFields"]=> 
     array(0) { 
     } 
    } 
    } 
    ["ResultsOrderedBy"]=> 
    string(5) "email" 
    ["OrderDirection"]=> 
    string(3) "asc" 
    ["PageNumber"]=> 
    int(1) 
    ["PageSize"]=> 
    int(150) 
    ["RecordsOnThisPage"]=> 
    int(3) 
    ["TotalNumberOfRecords"]=> 
    int(3) 
    ["NumberOfPages"]=> 
    int(1) 
} 

并试图通过数组(3)循环并获取电子邮件地址;

foreach($subscribed_result->results as $sr){ 
    $res++; 
    echo $res.": ".$sr->EmailAddress." ".$sr['EmailAddress']." "; 
} 

和几个变化,但无处可去。什么理解?

更新

这工作得更好,并可以从$ SR作为一个数组对象,但仍然无法获得$ SR-> EMAILADDRESS。

print $subscribed_result->response->Results[0]->EmailAddress; // works? 

     foreach($subscribed_result->response->Results as $sr){ 
      echo $sr->EmailAdress.""; // doesn't work? 
      echo "<pre>"; 
      print_r($sr); 
      echo "</pre>"; 
     } 

吐出来;

stdClass Object 
(
    [EmailAddress] => [email protected] 
    [Name] => Daniel Crabbe 
    [Date] => 2011-07-11 13:00:00 
    [State] => Active 
    [CustomFields] => Array 
     (
     ) 

) 
+0

你可以把$ SR后续代码var_dump这里好吗? – Alfwed

+0

你的问题是什么? –

回答

4

将其更改为:

foreach($subscribed_result->Results as $sr){ 
    $res++; 
    echo $res.": ".$sr->EmailAdress; 
} 

通知的Results,而不是resultsResults是一个对象,所以$sr['EmailAddress']不会工作。你可以像这样只访问数组。 $sr->EmailAddress将打印你想要的。

为了说明这一点,这是你如何将直接访问的第一个电子邮件地址:

print $subscribed_result->Results[0]->EmailAddress; 
+0

你 - 为那个foreach弄错了; '警告:在/var/www/vhosts/modernactivity.com/httpdocs/youradmin_v2/scripts/php/cm_sendCampaign.php在289行中为foreach()提供了无效参数,并且打印测试也不起作用? – v3nt

+0

你没有想到提到警告? –

+0

警告与'$ subscribed_result->结果为$ sr'一起新增! – v3nt