البرمجة

تجميع وتحليل بيانات JSON في PHP

في سياق لغة PHP، يمكنك القيام بعمليات معينة لجمع وتجميع البيانات المستخرجة من مصفوفة JSON والحصول على نتيجة مجمعة. لتحقيق هذا الهدف، يمكنك استخدام حلقة فورية للمرور عبر المصفوفة وجمع القيم بناءً على القاعدة المحددة.

قد تكون هذه العملية معقدة إذا كان لديك مصفوفة كبيرة ومعقدة، ولكن في هذه الحالة المحددة، يمكن تحقيقها بسهولة. إليك قطعة من الكود يمكنك استخدامها:

php
// البيانات الأصلية $jsonData = '[{"Title":"Message","count":"180","Number":"200"},{"Title":"Message","count":"200","Number":"400"}]'; // تحويل البيانات إلى مصفوفة PHP $dataArray = json_decode($jsonData, true); // متغير لتخزين النتيجة المجمعة $summarizedData = array(); // حلقة لجمع البيانات بناءً على العناصر المشتركة في "Title" foreach ($dataArray as $item) { $title = $item['Title']; if (!isset($summarizedData[$title])) { // إذا لم يتم إنشاء مفتاح للعنوان في النتيجة المجمعة، قم بإضافته $summarizedData[$title] = $item; } else { // إذا كان مفتاح العنوان موجودًا بالفعل، قم بجمع القيم $summarizedData[$title]['count'] += $item['count']; $summarizedData[$title]['Number'] += $item['Number']; } } // تحويل النتيجة المجمعة إلى مصفوفة نهائية $resultArray = array_values($summarizedData); // تحويل النتيجة إلى JSON وطباعتها $resultJson = json_encode($resultArray, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); echo $resultJson; ?>

هذا الكود يعتمد على الافتراض أن العنوان هو المفتاح الرئيسي لتجميع البيانات. يقوم بفحص كل عنصر في المصفوفة الأصلية ويجمع القيم بناءً على العناصر المشتركة في “Title”. النتيجة المجمعة يتم تحويلها إلى مصفوفة نهائية ومن ثم إلى صيغة JSON.

يرجى مراجعة الكود وتحديده وفقًا لاحتياجاتك الخاصة.

المزيد من المعلومات

عند التعامل مع مخرجات JSON في PHP والرغبة في الحصول على نتيجة مجمعة أو مجموعة من هذه المخرجات، يمكننا استخدام بعض الكود البرمجي لتحقيق ذلك بكفاءة. في البداية، يجب علينا فهم بنية المصفوفة JSON التي نمتلكها.

في حالتك، لديك مصفوفة JSON تحتوي على مجموعة من الكائنات، وكل كائن لديه “Title” و”count” و”Number”. الهدف هو تجميع الكائنات التي لديها نفس القيمة في مفتاح “Title” وحساب المجموع لمفتاح “count” و “Number” لهذه الكائنات.

لتحقيق ذلك، يمكننا استخدام كود PHP. قد يكون الكود كالتالي:

php
$jsonInput = '[{"Title":"Message","count":"180","Number":"200"},{"Title":"Message","count":"200","Number":"400"}]'; // تحويل المدخلات إلى مصفوفة PHP $data = json_decode($jsonInput, true); // مصفوفة لتخزين النتائج المجمعة $summarizedData = []; // تجميع البيانات foreach ($data as $item) { $title = $item['Title']; $count = (int)$item['count']; $number = (int)$item['Number']; // إذا كان العنوان موجود في المصفوفة المجمعة، قم بتحديث القيم if (array_key_exists($title, $summarizedData)) { $summarizedData[$title]['count'] += $count; $summarizedData[$title]['Number'] += $number; } else { // إذا لم يكن العنوان موجوداً، قم بإضافة كائن جديد $summarizedData[$title] = ['Title' => $title, 'count' => $count, 'Number' => $number]; } } // تحويل المصفوفة المجمعة إلى صيغة JSON $jsonOutput = json_encode(array_values($summarizedData), JSON_UNESCAPED_UNICODE); // طباعة النتيجة echo $jsonOutput; ?>

هذا الكود يقوم بتجميع البيانات وإنشاء مصفوفة جديدة تحتوي على القيم المجمعة، ثم يقوم بتحويلها إلى صيغة JSON. الناتج سيكون مشابهًا للذي تمنيت الحصول عليه:

json
[{"Title":"Message","count":380,"Number":600}]

يرجى مراجعة الكود وتكييفه وفقًا لاحتياجاتك الخاصة.

زر الذهاب إلى الأعلى