مقارنة مصفوفات الكائنات حسب قيم الأعمدة باستخدام وظائف المصفوفة
تقدم العديد من لغات البرمجة وظائف مدمجة لمقارنة المصفوفات. ومع ذلك، تعمل هذه الوظائف عادةً مع أنواع البيانات والمصفوفات البدائية، وليس مع صفائف الكائنات. وهذا يثير سؤال حول كيفية مقارنة مصفوفات الكائنات بناءً على خاصية أو عمود معين.
لمعالجة هذا الأمر، توفر PHP array_udiff، وهي وظيفة تتيح مقارنة مصفوفات الكائنات عن طريق تحديد وظيفة مقارنة مخصصة. خذ بعين الاعتبار المثال التالي:
$first_array = array( (object) ['id' => '205', 'day_id' => '12'], (object) ['id' => '210', 'day_id' => '15'] ); $second_array = array( (object) ['id' => '205', 'day_id' => '12'], (object) ['id' => '215', 'day_id' => '18'] );
لمقارنة هذه المصفوفات بناءً على خاصية "المعرف"، يمكنك استخدام دالة مجهولة كما يلي:
$diff = array_udiff($first_array, $second_array, function ($obj_a, $obj_b) { return $obj_a->id - $obj_b->id; } );
تطرح هذه الوظيفة قيم "المعرف" للكائنين لتحديد الفرق. سيحتوي $diff الناتج على الكائنات الموجودة في المصفوفة الأولى التي لا تحتوي على قيمة 'id' مطابقة في المصفوفة الثانية.
باختصار، من خلال استخدام وظيفة array_udiff وتحديد وظيفة مقارنة مخصصة، يمكن للمطورين مقارنة صفائف الكائنات بناءً على خصائص أو أعمدة محددة، مما يوفر المرونة في مهام تحليل البيانات.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3