مجموعة الصف الفرعية بناءً على تضمين قيمة العمود
خذ بعين الاعتبار مصفوفة $arr1، مع أعمدة متعددة ومصفوفة مسطحة ثانية، $arr2، تحتوي على قيم معرف محددة. الهدف هو تصفية $arr1 للاحتفاظ فقط بتلك الصفوف التي تتطابق فيها قيمة العمود مع أي من القيم الموجودة في $arr2.
أثبتت المحاولات السابقة باستخدام وظائف التصفية أو array_search عدم نجاحها. يتضمن الحل العملي استخدام وظيفة PHP الأصلية، array_uintersect().
تستخدم هذه الوظيفة وظيفة رد اتصال مجهولة تقوم بتقييم عمود المعرف (أو ترجع إلى قيمة المعلمة إذا لم تكن موجودة) داخل كلا مصفوفتي الإدخال. تتحقق المقارنة من المساواة بين القيم.
ضمن رد الاتصال، يتم استخدام العامل => لالتقاط متغيرات صفيف الإدخال $a و$b، والمشغل الثلاثي ?: يعين قيمة إرجاع غير فارغة .
تحت الغطاء، يقوم array_uintersect بإجراء الفرز أثناء عملية التقييم، مما يؤدي إلى تحسين الأداء والتنفيذ بشكل أسرع بكثير من in_array() التكراري. call.
الكود أدناه يوضح الحل:
var_export(
array_uintersect(
$arr1,
$arr2,
fn($a, $b) =>
($a['id'] ?? $a)
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3