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

كيفية تحديد ما إذا كان الصفيف يحتوي على كافة القيم من صفيف آخر باستخدام array_diff؟

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

How to Determine if an Array Contains All Values from Another Array using array_diff?

استخدام array_diff للتحقق من تضمين قيمة المصفوفة

يعد تحديد ما إذا كان المصفوفة تحتوي على جميع القيم من مصفوفة أخرى مهمة برمجة شائعة. خذ بعين الاعتبار المثال التالي:

المصفوفات المعطاة $all و$search_this، المعرفة على النحو التالي:

$all = array
(
    0 => 307,
    1 => 157,
    2 => 234,
    3 => 200,
    4 => 322,
    5 => 324
);
$search_this = array
(
    0 => 200,
    1 => 234
);

نهدف إلى التحقق مما إذا كان $all يتضمن جميع العناصر الموجودة في $search_this.

استخدام array_diff للمقارنة الفعالة

لتحقيق ذلك بالمقارنة، فإن الطريقة الأكثر فعالية هي استخدام الدالة array_diff، التي تُرجع مصفوفة من العناصر الموجودة في المصفوفة الأولى ولكن ليس في الثانية. من خلال تطبيقه على حالتنا، يمكننا استنتاج ما إذا كان $all يحتوي على جميع القيم من $search_this.

$containsAllValues = !array_diff($search_this, $all);

إذا كان المصفوفة الناتجة فارغة (أي لم يتم العثور على أي اختلاف)، فهذا يعني أن $all يحتوي على جميع القيم من $search_this. ونتيجة لذلك، سيتم تعيين $containsAllValues ​​على القيمة true. وإلا فإنه سيكون كاذبا. تعمل هذه الطريقة على حل المشكلة بشكل فعال بأقل قدر من التعقيد والتنفيذ المباشر.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3