توابع array_diff_ukey() در PHP
مثال
مقایسه نامهای کلید دو آرایه (با استفاده از تابع کاربر تعریف شده برای مقایسه نامهای کلید) و بازگرداندن اختلافات:
<?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) but not in any other parameter array (array2 or array3 etc.) key names.
نحوه استفاده
array_diff_ukey(array1,array2,array3...,myfunction);
پارامتر | توضیح |
---|---|
array1 | ضروری. آرایه اول که با دیگر آرایهها مقایسه میشود. |
array2 | ضروری. آرایهای که با اولین آرایه مقایسه میشود. |
array3,... | اختیاری. آرایه دیگری که با اولین آرایه مقایسه میشود. |
myfunction | ضروری. تعریف یک رشته برای تابع مقایسه قابل فراخوانی. اگر اولین پارامتر کمتر، برابر یا بیشتر از دومین پارامتر باشد، تابع مقایسه باید عدد صحیحی کمتر، برابر یا بیشتر از 0 را بازگرداند. |
Description
array_diff_ukey() returns an array that includes all the keys appearing in array1 but not appearing in any other parameter array, the value of the key name. Note that the association relationship is retained unchanged. Unlike array_diff(), the comparison is based on key name rather than value.
This comparison is done through the callback function provided by the user. An integer less than, equal to, or greater than zero must be returned respectively when the first parameter is considered to be less than, equal to, or greater than the second parameter.
Technical Details
Return Value: | Returns the difference set array, which includes all the keys in the compared arrays (array1) but not in any other parameter array (array2 or array3 etc.) key names. |
PHP Version: | 5.1+ |
More Examples
Example 1
Compare the key names of three arrays (using a user-defined function to compare key names) and return the difference set:
<?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); ?>