array_diff()‎

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

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

مصادر