foreach-Schleifen

foreach-Schleifen

Foreach-Konstrukt bietet eine Möglichkeit über Variablen vom Typ „Sammlung“ oder über JSON Arrays im API Response zu iterieren.

Die Grundsyntax sieht wie folgt aus:

foreach ($iterable$, {number_of_iterations})
statement
endforeach

Der erste Parameter $iterable$ definiert über welche Variable iteriert wird, der zweite Parameter (numerisch, optional) legt die Anzahl an Iterationen fest.

 

Foreach für Sammlungen

In unserem Beispiel wird der/die Nutzer:in gebeten, seine/ihre Lieblingsfarben auszuwählen. Die ausgewählte Farben werden in der Variable $color$ vom Typ Sammlung gespeichert. Der Bot bestätigt die Farbauswahl und gibt die in der Variable $color$ gespeicherte Farben zurück (max. 3). Es wird dabei über die Variable $color$ iteriert.

Es werden maximal 3 Werte $value$ aus der Sammlung angezeigt, vorangestellt vom jeweiligen Index $index$. Innerhalb von einer Schleife kannst Du auf die Werte der Sammlung über die Variable $value$ und auf die jeweilige Indizes über die Variable $index$ zugreifen.

So sieht der Dialog in WhatsApp aus:

Foreach für JSON Arrays

Ähnlich wie bei Sammlungen kannst Du über JSON Arrays im API Response iterieren. In unserem Beispiel wird dem/der Nutzer:in die Wettervorhersage für die nächsten 3 Tage aus einem Aufruf zu Openweather API geschickt.

Openweather JSON-Response beinhaltet ein Array mit täglichen Wetterinformationen für die nächsten Tagen:

Das gesamte Response wird in der Variable $api$ gespeichert. Über einen Json-Pfad kannst Du auf das Array zugreifen und es als Parameter einsetzen ($api.daily$). Innerhalb von der Schleife kannst Du direkt auf die jeweilige Attribute zugreifen (in unserem Beispiel: $temp.day$, $weather.0.description$).

Der Dialog sieht in WhatsApp wie folgt aus: