دالة PHP array_diff_ukey()

مثال

قارن بين مفاتيح مجموعتين (استخدم دالة مقارنة مخصصة للمفاتيح) وتعيد مجموعة الفرق:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");
$result=array_diff_ukey($a1,$a2,"myfunction");
print_r($result);
?>

اجرای نمونه

التعريف والاستخدام

استخدمت دالة array_diff_ukey() لتقارن بين مفاتيح مجموعتين (أو أكثر) وتعيد مجموعة الفرق.

ملاحظة:استخدمت هذه الدالة دالة مقارنة مخصصة للمفاتيح!

تقارن هذه الدالة بين مفاتيح مجموعتين (أو أكثر) وتعيد مجموعة فرق.array1در حالی که در هیچ یک از آرایه‌های پارامترهای دیگر (array2 یا array3 و غیره) نام‌های کلید.

النحو

array_diff_ukey(array1,array2,array3...,myfunction);
المتغيرات الوصف
array1 مطلوب. الجمعية الأولى مقارنة بالجمعيات الأخرى.
array2 مطلوب. مجموعة مقارنة بالجمعية الأولى.
array3,... اختياري. مجموعة أخرى مقارنة بالجمعية الأولى.
myfunction مطلوب. تعريف سلسلة يمكن من خلالها استدعاء دالة مقارنة. إذا كان الأول أقل من، مساو أو أكبر من الثاني، فإن دالة المقارنة يجب أن تعود عددًا صحيحًا أقل من، مساو أو أكبر من 0.

توضیحات

array_diff_ukey() آرایه‌ای بازمی‌گرداند که شامل تمام کلیدهایی است که در array1 اما در هیچ یک از آرایه‌های پارامترهای دیگر وجود ندارد. توجه داشته باشید که ارتباط متقابل حفظ می‌شود. برخلاف array_diff()، مقایسه بر اساس نام‌های کلید و نه ارزش انجام می‌شود.

این مقایسه از طریق فونکشن بازگشتی ارائه شده توسط کاربر انجام می‌شود. در صورت نیاز به بازگشت یک عدد منفی، صفر یا مثبت به ترتیب اگر اولین پارامتر کمتر، برابر یا بیشتر از دومین پارامتر باشد، باید بازگردانده شود.

جزئیات فنی

بازگشت ارزش: بازگشت آرایه تفاوت‌ها، که شامل تمام کلیدهایی است که درarray1در حالی که در هیچ یک از آرایه‌های پارامترهای دیگر (array2 یا array3 و غیره) نام‌های کلید.
نسخه PHP: 5.1+

مثال‌های بیشتر

مثال 1

مقایسه نام‌های کلید سه آرایه (با استفاده از فونکشن تعریف شده توسط کاربر) و بازگشت مجموعه تفاوت‌ها:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"black","b"=>"yellow","d"=>"brown");
$a3=array("e"=>"purple","f"=>"white","a"=>"gold");
$result=array_diff_ukey($a1,$a2,$a3,"myfunction");
print_r($result);
?>

اجرای نمونه