2016-08-11 1 views
0
$responses= stdClass Object (
[status] => SUCCESS 
[value] => stdClass Object (
    [messageTaskList] => Array (
    [0] => stdClass Object (
     [id] => 19 
     [userId] => 38 
     [text] => some text 
     [currentCount] => 0 
     [finishCount] => 5000 
     [createTime] => 1470223038000 
     [finishTime] => 
     [status] => 1 
     [requestsSent] => 0 
     [url] => linked.in/searchparams=marketingits=sample) 
    [1] => stdClass Object (
     [id] => 20 
     [userId] => 38 
     [text] => Grand Rapids 
     [currentCount] => 0 
     [finishCount] => 5000 
     [createTime] => 1470223059000 
     [finishTime] => 
     [status] => 1 
     [requestsSent] => 0 
     [url] => linked.in/searchparams=marketingits=sample) 
    [2] => stdClass Object (
     [id] => 21 
     [userId] => 38 
     [text] => Grand Rapids 
     [currentCount] => 0 
     [finishCount] => 5000 
     [createTime] => 1470223751000 
     [finishTime] => 
     [status] => 1 
     [requestsSent] => 0 
     [url] => https://google.com))) 
[action] => GET_MESSAGE_TASK_LIST 
[eventId] =>) 

foreach($responses as $key => $value) { 
        echo $value->id . ", " . $value->text . "<br>"; 
       } 

Ich versuche, den Array-Wert in der Tabelle zu zeigen, aber ich bekomme den Fehler unten erwähnt.Drucken Array-Daten mit Forlopp

Hinweis: Der Versuch, Eigentum von Nicht-Objekt in E zu erhalten: \ xampp \ htdocs \ linkedin \ all-tasks.php on line 238

Hinweis: Der Versuch, Eigentum nicht zu bekommen -object in E: \ xampp \ htdocs \ linkedin \ all-tasks.php on line 238

Antwort

4

id und text innerhalb der Array-Objekte von value und messageTaskList, so durch Zeiger auf dem gleichen setzen, loo ps tritt in das innere Array ein, in dem sich id und text befinden.

Dies sollte hilfreich sein:

foreach($responses->value->messageTaskList as $key => $value) { 

     echo $value->id . ", " . $value->text . "<br>"; 

} 
+0

Warum sollte das OP diesen Code verwenden? Eine ** gute Antwort ** wird immer eine Erklärung haben, was getan wurde und warum es so gemacht wurde, nicht nur für das OP, sondern für zukünftige Besucher von SO, die diese Frage finden und Ihre Antwort lesen können. – RiggsFolly

+0

"ID" und "Text" sind innerhalb der Array-Objekte von "Wert" und "messageTaskList", also durch das Setzen von Zeigern auf die gleichen, tritt Schleifen in das innere Array, wo "ID" und "Text" befindet. –

+0

Ich habe verstanden .. Vielen Dank für die Hilfe –

1

Dies ist, wie Sie Ihre $ Antworten Struktur wie folgt aussieht:

$responses = stdClass (
    [status] => SUCCESS 
    [value] => 
     stdClass Object (
      [messageTaskList] => Array (
       [0] => stdClass Object (
        [id] => 19 
        [userId] => 38 
        [text] => some text 
        [currentCount] => 0 
        [finishCount] => 5000 
        [createTime] => 1470223038000 
        [finishTime] => 
        [status] => 1 
        [requestsSent] => 0 
        [url] => linked.in/searchparams=marketingits=sample 
       ) 
       [1] => stdClass Object (
        [id] => 20 
        [userId] => 38 
        [text] => Grand Rapids 
        [currentCount] => 0 
        [finishCount] => 5000 
        [createTime] => 1470223059000 
        [finishTime] => 
        [status] => 1 
        [requestsSent] => 0 
        [url] => linked.in/searchparams=marketingits=sample 
       ) 
       [2] => stdClass Object (
        [id] => 21 
        [userId] => 38 
        [text] => Grand Rapids 
        [currentCount] => 0 
        [finishCount] => 5000 
        [createTime] => 1470223751000 
        [finishTime] => 
        [status] => 1 
        [requestsSent] => 0 
        [url] => https://google.com 
       ) 
      ) 
     ) 
     [action] => GET_MESSAGE_TASK_LIST 
     [eventId] => 
    ) 

Alles was Sie brauchen auf dem richtigen Element iterieren zu tun ist:

foreach ($responses->value->messageTaskList as $key => $value) { 
    echo $value->id . ", " . $value->text . "<br>";   
}