2011-10-11 22 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