array_diff()
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
تحسب الدالة array_diff() الفرق بين عدة مصفوفات.
الوصف
array array_diff ( array $array1 , array $array2 [, array $... ] )
تقارن الدالة array_diff() المصفوفة array1 بمصفوفة أخرى أو أكثر و تعيد القيم الموجودة فيها و التي ليست موجودة في المصفوفات الأخرى.
المعاملات
array1
المصفوفة التي ستقارن الدالة منها.
array2
المصفوفة التي ستقارن الدالة بها.
…
مزيد من المصفوفات لتقارن الدالة بها.
القيم المعادة
تعيد الدالة مصفوفةً جديدةً تحتوي على كل العناصر الموجودة في المصفوفة الأولى والتي ليست موجودةً في أيٍ من المصفوفات الأخرى.
أمثلة
المثال 1: مثال بسيط عن استخدام الدالة array_diff()
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>
العناصر المكررة بالمصفوفة $array1 تعامل كلها بنفس الطريقة.
نتيجة المثال السابق:
array
(
[1] => blue
)
ملاحظات
يُعتبر عنصران من المصفوفات متساويان إذا و فقط إذا كان (string)$elem1 === (string)$elem2. بكلمات أخرى، إذا كان التمثيل النصي لهما متماثل تمامًا.
تتحقق هذه الدالة من بعد واحد فقط للمصفوفات متعددة الأبعاد. بالطبع يمكنك التحقق من أبعاد أعمق باستخدام array_diff_ukey($array1[0], $array2[0], 'callback_func') على سبيل المثال.
انظر أيضًا
- الدالة array_diff_assoc(): تحسب الاختلاف بين المصفوفات مع استخدام تحقق إضافي بمقارنة الفهارس.
- الدالة array_intersect(): تحسب التقاطع (intersection) بين المصفوفات.
- الدالة array_intersect_assoc(): تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي بمقارنة الفهارس.