stdClass (снова) - PullRequest
       8

stdClass (снова)

0 голосов
/ 11 октября 2011

думаю, что я схожу с ума, но думаю, что перепробовал все возможное!

получил такой объект;

    object(stdClass)#9 (8) {
  ["Results"]=>
  array(3) {
    [0]=>
    object(stdClass)#10 (5) {
      ["EmailAddress"]=>
      string(22) "38ec95a@emailtests.com"
      ["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) "dan@jynk.net"
      ["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) "nikolaprice@hotmail.com"
      ["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.

<code>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 "
";}

выплевывает;

stdClass Object
(
    [EmailAddress] => 38ec95a@emailtests.com
    [Name] => Daniel Crabbe
    [Date] => 2011-07-11 13:00:00
    [State] => Active
    [CustomFields] => Array
        (
        )

)

1 Ответ

4 голосов
/ 11 октября 2011

Измените его на:

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

Обратите внимание на Results вместо results.Results - это объект, поэтому $sr['EmailAddress'] не будет работать.Вы можете получить доступ только к массивам, как это.$sr->EmailAddress напечатает то, что вы хотите.

Чтобы проиллюстрировать это, вы получите прямой доступ к первому адресу электронной почты напрямую:

...