Avatar ·

Wie man ein PHP-Objekt mit dynamischen Schlüsseln (Eigenschaftsnamen) durchläuft

Hallo zusammen. Ich bin neu in PHP und habe ein Problem bei der Arbeit mit JSON-Daten. Nach dem Dekodieren von JSON mit `json_decode()` erhalte ich ein stdClass-Objekt, dessen Eigenschaften (Schlüssel) im Voraus unbekannt sind. Zum Beispiel erhalte ich Produktdaten von einer externen API, und die Feldnamen können sich ändern (Preis, Menge, Beschreibung – aber die genaue Zusammensetzung der Felder ist unbekannt). Ich muss alle Eigenschaften dieses Objekts durchlaufen und auf dem Bildschirm ausgeben. Hier ist ein Beispielcode, der bei mir nicht funktioniert: ```php $json = '{"item1": {"name": "Produkt A", "price": 150}, "item2": {"name": "Produkt B", "price": 250}}'; $data = json_decode($json); // Versuche, es wie ein Array zu durchlaufen – Fehler foreach ($data as $key => $value) { echo $key . ': ' . $value . '
'; } ``` Dieser Code gibt einen Fehler aus: "Invalid argument supplied for foreach()". Ich verstehe, dass `$data` ein Objekt und kein Array ist. Aber wie durchläuft man dann alle seine Eigenschaften, wenn ich ihre Namen nicht kenne? Ich habe versucht, `$data->$key` zu verwenden – hat auch nicht funktioniert.