2016-03-23 18 views
-2

Ich erstelle eine Anwendung, die die MailChimp v3-API verwendet, ich sende eine Abfrage, um alle Listen zu greifen, dann ich über dieses Array iterieren und dann über die Arrays innerhalb zu greifen jede einzelne ID und füge sie zu einem Array hinzu. Dies funktioniert perfekt und ich bekomme ein Array mit allen richtigen IDs, aber ich bekomme diesen Fehler.Warnung: Ungültiges Argument für foreach()

Warning: Invalid argument für foreach geliefert()

Mache ich etwas falsch hier? Obwohl ich die richtigen Daten bekomme

Hier ist die Daten ein var Dump kehrt auf allen Listen zurück, ich habe die Daten aus Sicherheitsgründen herausgenommen, aber das Format verlassen.

http://pastebin.com/qCSkUmL3

Unten ist mein Code

// Create an array to store each list ID in so we can query it using the API 
$listIDs = array(); 

// test to grab all the lists 
$allLists = $MailChimp->get('lists'); 

foreach ($allLists as $list) { 

    foreach ($list as $singleList) { 

     if (isset($singleList['id'])) { 

      $listIDs[] = $singleList['id']; 

     } 
    } 
} 
+1

'var_dump' die Variable, die vor' foreach' auf der Linie dieses Problem ist die Herstellung und *** sehen *** welcher Wert dieses Problem verursacht. – deceze

+0

Dieser Fehler bedeutet '$ allLists' ist nicht 'Array'. – ops

Antwort

1

Können Sie Ihre $ allLists print_r? Das würde es einfacher machen.

Von dem, was ich verstehe, vielleicht sollten Sie diese Zeile:

foreach ($allLists as $list) { 

Um

foreach ($allLists['lists'] as $list) { 
+0

Perfekt, danke. Kannst du das bitte erklären? – pocockn

+1

Ja. Hier befindet sich das gesamte multidimensionale Array innerhalb des Array-Schlüssels "lists". Schlicht und einfach. :) –

Verwandte Themen