Avatar ·

كيفية تكرار كائن PHP بمفاتيح ديناميكية (أسماء خصائص)

مرحباً بالجميع. أنا مبتدئ في PHP وواجهت مشكلة أثناء العمل مع بيانات JSON. بعد فك تشفير JSON باستخدام `json_decode()` أحصل على كائن stdClass، حيث تكون الخصائص (المفاتيح) غير معروفة مسبقاً. على سبيل المثال، أحصل على بيانات عن منتجات من API خارجي، وقد تتغير أسماء الحقول (السعر، الكمية، الوصف — لكن التركيب الدقيق للحقول غير معروف). أحتاج إلى المرور عبر جميع خصائص هذا الكائن وعرضها على الشاشة. إليك مثال على الكود الذي لا يعمل لدي: ```php $json = '{"item1": {"name": "المنتج أ", "price": 150}, "item2": {"name": "المنتج ب", "price": 250}}'; $data = json_decode($json); // أحاول التكرار كمصفوفة — خطأ foreach ($data as $key => $value) { echo $key . ': ' . $value . '
'; } ``` هذا الكود يعطي خطأ: "Invalid argument supplied for foreach()". أفهم أن `$data` هو كائن وليس مصفوفة. لكن كيف يمكنني تكرار جميع خصائصه إذا كنت لا أعرف أسمائها؟ جربت استخدام `$data->$key` — لم ينجح أيضاً.