array_diff_key()
(PHP 5 >= 5.1.0, PHP 7)
تحسب الدالة array_diff_key() الفرق بين عدة مصفوفات باستخدام المفاتيح للمقارنة.
الوصف
array array_diff_key ( array $array1 , array $array2 [, array $... ] )
تقارن الدالة مفاتيح المصفوفات المُمَرََرة كمعاملات وتعيد الفرق بينها. هذه الدالة تشبه دالة array_diff إلا أنها تقارن باستخدام المفاتيح وليس القيم.
المعاملات
array1
المصفوفة التي ستقارن الدالة منها.
array2
المصفوفة التي ستقارن الدالة بها.
…
مزيد من المصفوفات لتقارن الدالة بها.
القيم المعادة
تعيد الدالة مصفوفةً جديدةً من القيم الموجودة بالمصفوفة الأولى التي تكون مفاتيحها غير موجودة بأي من المصفوفات الأخرى.
أمثلة
المثال 1: مثال بسيط عن الدالة array_diff_key()
يعدّ زوجان من المفاتيح والقيم متماثلان فقط إذا كان (string) $key1 === (string) $key2. بكلمات أخرى، تستخدم الدالة المقارنة الصارمة لمقارنة القيم ولذلك يجب أن يكون التمثيل النصي للقيم متماثلًا تمامًا.
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
var_dump(array_diff_key($array1, $array2));
?>
نتيجة المثال السابق:
array(3) {
["blue"]=>
int(1)
["red"]=>
int(2)
["purple"]=>
int(4)
}
المثال 2: مثال بسيط آخر عن الدالة array_diff_key()
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
$array3 = array('blue' => 6, 'yellow' => 7, 'mauve' => 8);
var_dump(array_diff_key($array1, $array2, $array3));
?>
نتيجة المثال السابق:
array(2) {
["red"]=>
int(2)
["purple"]=>
int(4)
}
ملاحظات
تتحقق هذه الدالة من بعد واحد فقط للمصفوفات متعددة الأبعاد. بالطبع يمكنك التحقق من أبعاد أعمق باستخدام array_diff_key($array1[0], $array2[0]) على سبيل المثال.
انظر أيضًا
- الدالة array_udiff: تحسب الاختلاف بين المصفوفات باستخدام دالة يحددها المستخدم.
- الدالة array_diff(): تحسب الفرق بين المصفوفات.
- الدالة array_diff_assoc(): تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس.
- الدالة array_diff_uassoc(): تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس عن طريق تنفيذ دالة يحددها المستخدم.
- الدالة array_udiff_assoc(): تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات باستخدام دالة يحددها المستخدم.
- الدالة array_udiff_uassoc(): تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات والفهارس باستخدام دالة يحددها المستخدم.
- الدالة array_intersect(): تحسب التقاطع بين المصفوفات.
- الدالة array_intersect_assoc(): تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي للفهارس.
- الدالة array_uintersect_assoc(): تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي للفهارس، وتستخدم دالة يحددها المستخدم لتقارن بين البيانات.
- الدالة array_interest_uassoc(): تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي من الفهارس، كما أنها تقارن الفهارس باستخدام دالة يحددها المستخدم.
- الدالة array_intersect_key(): تحسب التقاطع بين المصفوفات باستخدام المفاتيح في المقارنة.
- الدالة array_intersect_ukey(): تحسب التقاطع بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح.