دالة 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); ?>