PHP array_udiff_uassoc() 函数
实例
比较两个数组的键名和键值(使用用户自定义函数进行比较),并返回差集:
$b)?1:-1; } function myfunction_value($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"green","c"=>"green"); $result=array_udiff_uassoc($a1,$a2,"myfunction_key","myfunction_value"); print_r($result); ?>
定义和用法
array_udiff_uassoc() 函数用于比较两个(或更多个)数组的键名和键值,并返回差集。
注释:该函数使用两个用户自定义函数进行比较;第一个函数比较键名,第二个函数比较键值!
该函数比较两个(或更多个)数组的键名和键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1در) اما در هیچ یک از آرایههای پارامتر (array2 یا array3 و غیره) میباشند. کلیدها و مقادیر.
说明
شرح array1 array_udiff_uassoc() کا ریٹرن فنکشن
توجہ دیئے، کیونکہ اس میں موجود بقیہ اور دیگر اعداد میں موجود نہیں ہیں، اس میں کی کلائز کا نام مساوی رکھا جاتا ہے array_diff() اور array_udiff() مختلف ہے کیونکہ کے نام بھی مقابلوں کے لئے استعمال کیے جاتے ہیں۔ ساتھ میں کے نام اور کی کلائز کا مقابلوں کا عمل بھی کیا جاتا ہے، مثلاً "a"=>1 اور "b"=>1 یہ دو عناصر مساوی نہیں ہیں
کے نام (انڈیکس) کی چیک کا عمل بھی ریٹرن فنکشن سے ہوتا ہے myfunction_key کا ممنوع ہو گیا، یہ array_udiff_assoc() رفتار متفاوت است، در حالی که در حالت دوم از تابع داخلی برای مقایسه شاخصها استفاده میشود.
مقایسه دادههای آرایه با استفاده از تابعهای بازگشتی کاربر انجام میشود myfunction_value به انجام میرسد. در این زمینه و array_diff_assoc() رفتار دقیقاً برعکس، در حالی که در حالت دوم از تابع داخلی برای مقایسه استفاده میشود.
این دو فنکشن دو پارامتر برای مقایسه دارند. اگر اولین پارامتر کمتر از دومین پارامتر باشد، فنکشن یک عدد منفی بازمیگرداند، اگر دو پارامتر برابر باشند، باید ۰ بازگرداند و اگر اولین پارامتر بزرگتر از دومین پارامتر باشد، یک عدد مثبت بازمیگرداند.
جملات
array_udiff_uassoc(array1,array2,array3...,myfunction_key,myfunction_value)
پارامترها | توضیح |
---|---|
array1 | ضروری. آرایهای که با دیگر آرایهها مقایسه میشود. |
array2 | ضروری. آرایهای که با اولین آرایه مقایسه میشود. |
array3,... | اختیاری. آرایههای دیگری که با اولین آرایه مقایسه میشوند. |
myfunction_key |
ضروری. نام تابع کاربر تعریف شده برای مقایسه نامهای آرایه. مقادیر استرینگ، یک تابع قابل فراخوانی تعریف میکند. اگر اولین پارامتر کمتر از یا برابر با دومین پارامتر باشد، تابع مقایسه باید یک عدد صحیح کمتر از یا برابر با صفر بازگرداند. |
myfunction_value |
ضروری. نام تابع کاربر تعریف شده برای مقایسه مقادیر آرایه. مقادیر استرینگ، یک تابع قابل فراخوانی تعریف میکند. اگر اولین پارامتر کمتر از یا برابر با دومین پارامتر باشد، تابع مقایسه باید یک عدد صحیح کمتر از یا برابر با صفر بازگرداند. |
جزئیات فنی
نتیجه: | یک آرایهی تفاوت بازمیگرداند که شامل تمام آرایههایی است که در مقایسه قرار گرفتهاند (array1در) اما در هیچ یک از آرایههای پارامتر (array2 یا array3 و غیره) میباشند. کلیدها و مقادیر. |
نسخه PHP: | 5+ |