array_intersect_key()‎

من موسوعة حسوب
< PHP

(PHP 5 >= 5.1.0, PHP 7)

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

الوصف

array array_intersect_key ( array $array1 , array $array2 [, array $... ] )

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

المعاملات

array1

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

array2

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

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

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

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

أمثلة

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

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

var_dump(array_intersect_key($array1, $array2));
?>

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

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

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

يعد مفتاحا زوجي المفاتيح والقيم متساويان إذا وفقط إذا كان ‎(string) $elem1 === (string) $elem2. بكلمات أخرى، إذا كان التمثيل النصي لهما متماثلًا تمامًا.

انظر أيضًا

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

مصادر