"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية جمع قيم المفاتيح المشتركة عند دمج المصفوفات الترابطية المتعددة؟

كيفية جمع قيم المفاتيح المشتركة عند دمج المصفوفات الترابطية المتعددة؟

تم النشر بتاريخ 2024-11-04
تصفح:818

How to Sum Values of Shared Keys When Merging Multiple Associative Arrays?

دمج المصفوفات الترابطية المسطحة المتعددة مع جمع المفاتيح المشتركة

عند دمج المصفوفات الترابطية مع وظيفة array_merge ()، فإن القيم المرتبطة بالمفاتيح المشتركة تميل إلى الاستبدال بدلاً من تلخيصها. يشكل هذا تحديًا عند محاولة إضافة قيم المفاتيح المشتركة من مصفوفات ترابطية متعددة.

للتغلب على هذه العقبة، يمكن للمرء اعتماد عدة طرق:

  • تكرار التكرار باستخدام منع الأخطاء:
]
$sums = array();
foreach (array_keys($a1   $a2) as $key) {
    $sums[$key] = (isset($a1[$key]) ? $a1[$key] : 0)   (isset($a2[$key]) ? $a2[$key] : 0);
}
  • التعيين المجهول:
$keys = array_fill_keys(array_keys($a1 $a2), 0); $sums = array_map(function ($a1, $a2) { return $a1 $a2; }, array_merge($keys, $a1), array_merge($keys, $a2));
$keys = array_fill_keys(array_keys($a1   $a2), 0);
$sums = array_map(function ($a1, $a2) { return $a1   $a2; }, array_merge($keys, $a1), array_merge($keys, $a2));
    الحل المختلط:
  • $sums = array_fill_keys(array_keys($a1 $a2), 0); array_walk($sums, function (&$value, $key, $arrs) { $value = @($arrs[0][$key] $arrs[1][$key]); }, array($a1 , $a2));
$keys = array_fill_keys(array_keys($a1   $a2), 0);
$sums = array_map(function ($a1, $a2) { return $a1   $a2; }, array_merge($keys, $a1), array_merge($keys, $a2));
وظيفة مخصصة لعدد عشوائي من المصفوفات:
  • function array_sum_identical_keys() { $arrays = func_get_args(); $keys = array_keys(array_reduce($arrays, function ($keys, $arr) { return $keys $arr; }, array())); $sums = array(); foreach ($مفاتيح كمفتاح $) { $sums[$key] = array_reduce($arrays, function ($sum, $arr) use ($key) { return $sum @$arr[$key]; }); } إرجاع مبالغ $؛
توفر هذه الأساليب حلولاً مرنة لدمج المصفوفات الترابطية المتعددة وجمع القيم المرتبطة بالمفاتيح المشتركة.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3