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()
: تحسب التقاطع بين المصفوفات باستخدام المفاتيح للمقارنة.