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 کلیدها و مقادیر در ...) استفاده میشوند.
说明
array_udiff_uassoc() 函数返回 array1 数组中存在但其它数组中都不存在的部分。返回的数组中键名保持不变。
注意与 array_diff() 以及 array_udiff() 不同的是键名也用于比较。同时进行键名和键值的比较,如 "a"=>1 和 "b"=>1 这两个元素是不相等的。
ka a yin yi kara bayan koyi (indeksi). myfunction_key an fai. Na da na 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+ |