انتقل إلى محتوى الدرس

Finding Differences and Intersections حساب الفروق والتقاطع بـ array_diff و array_intersect

ادمج واستبدل عناصر المصفوفات بـ array_merge وarray_replace، واربط المفاتيح بالقيم عبر array_combine، واحسب التقاطع والاختلاف.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

توفر PHP دوال مقارنة المجموعات لاكتشاف العناصر المفقودة عبر array_diff() أو العناصر المشتركة عبر array_intersect() بين مصفوفتين أو أكثر.

  • ترجع array_diff($a, $b) العناصر الموجودة في $a وغير الموجودة في $b (ترتيب تمرير المصفوفتين مهم جداً!).
  • ترجع array_intersect($a, $b) العناصر المشتركة الموجودة في كلتا المصفوفتين $a و$b.
  • عند مقارنة المصفوفات الترابطية بحيث يُشترط تطابق المفتاح والقيمة معاً، استخدم array_diff_assoc() وarray_intersect_assoc().

تحدد array_diff() الصلاحيات المطلوبة الناقصة لدى المستخدم، بينما تستخرج array_intersect() الصلاحيات المشتركة.

PHP
<?php
$requiredScopes = ["read", "write", "billing", "export"];
$userScopes     = ["read", "export", "profile"];

$missing = array_diff($requiredScopes, $userScopes);
$granted = array_intersect($requiredScopes, $userScopes);

echo "Missing: " . implode(", ", $missing) . "\n";
echo "Granted: " . implode(", ", $granted) . "\n";