array_intersect_ukey()‎

من موسوعة حسوب
< PHP(بالتحويل من PHP/Function/array-intersect-ukey)
اذهب إلى التنقل اذهب إلى البحث

(PHP 5 >= 5.1.0, PHP 7)

تحسب الدالة array_intersect_ukey()‎ التقاطع (intersection) بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح.

الوصف

array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

تعيد الدالة كل عناصر المصفوفة array1 التي تحتوي على مفاتيح تطابقها الدالة key_compare_func بكل مفاتيح المصفوفات الأخرى.

المعاملات

array1

مصفوفة العناصر التي ستتحقق الدالة منها.

array2

مصفوفة العناصر التي ستقارن بها الدالة.

مجموعة متغيرة من المصفوفات التي ستقارن الدالة بها.

key_compare_func

يجب أن تعيد دالة المقارنة عددًا صحيحًا يكون أصغر أو يساوي أو أكبر من الصفر إذا كان المعامل الأول أصغر أو مساويًا أو أكبر من المعامل الثاني على التوالي وبالترتيب. لاحظ أنه قبل إصدار 7.0.0 من لغة PHP توجب على هذا العدد الصحيح أن يكون في المجال من ‎-2147483648 إلى 2147483648.

int callback ( mixed $a, mixed $b )

القيم المعادة

تعيد مصفوفة تحتوي على كل عناصر المصفوفة array1 الموجودة مفاتيحها بكل المصفوفات الأخرى.

أمثلة

المثال 1: مثال بسيط عن الدالة array_intersect_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

نتيجة المثال السابق:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

في هذا المثال، سترى أن فقط المفاتيح "blue" و "green" موجودة في كلتي المصفوفتين ولذلك أعادتهما الدالة. لاحظ أيضاً أن القيم المرتبطة مع المفاتيح "blue" و "green" مختلفة بين المصفوفتين. ما يزال هناك تطابق مع ذلك لأن الدالة تقارن باستخدام المفاتيح فقط. وتكون القيم المعادة هي تلك الموجودة بالمصفوفة array1.

انظر أيضًا

  • الدالة array_diff()‎: تحسب الفرق بين المصفوفات.
  • الدالة array_udiff()‎: تحسب الفرق بين المصفوفات باستخدام دالة يحددها المستخدم للمقارنة بين البيانات.
  • الدالة array_diff_assoc()‎: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس.
  • الدالة array_diff_uassoc()‎: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس عن طريق تنفيذ دالة يحددها المستخدم.
  • الدالة array_udiff_assoc()‎: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات باستخدام دالة يحددها المستخدم.
  • الدالة array_udiff_uassoc()‎: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات والفهارس باستخدام دالة يحددها المستخدم.
  • الدالة array_diff_key()‎: تحسب الفرق بين المصفوفات باستخدام المفاتيح للمقارنة.
  • الدالة array_diff_ukey()‎: تحسب الفرق بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح.
  • الدالة array_intersect()‎: تحسب التقاطع بين المصفوفات.
  • الدالة array_intersect_assoc()‎: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي للفهارس.
  • الدالة array_intersect_uassoc()‎: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي من الفهارس، كما أنها تقارن الفهارس باستخدام دالة يحددها المستخدم.
  • الدالة array_intersect_key()‎: تحسب التقاطع بين المصفوفات باستخدام المفاتيح للمقارنة.

مصادر