PHP array_uintersect_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_uintersect_uassoc($a1,$a2,"myfunction_key","myfunction_value"); print_r($result); ?>
定义和用法
array_uintersect_uassoc() 函数比较两个(或更多个)数组的键名和键值,并返回交集。
注释:该函数使用两个用户自定义函数进行比较;第一个函数比较键名,第二个函数比较键值!
该函数比较两个(或更多个)数组的键名和键值,并返回交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键名和键值。
توجیه، کے ساتھ array_uintersect() تفاوتش این است که نامهای کلید نیز مقایسه میشوند. مقادیر و نامهای کلید (نشانگر) با استفاده از فونکشنهای بازگشتی مقایسه میشوند.
جملات
array_uintersect_uassoc(array1,array2,array3...myfunction_key,myfunction_value)
پارامترها | توضیح |
---|---|
array1 | ضروری. آرایه اولی که با آرایههای دیگر مقایسه میشود. |
array2 | ضروری. آرایهای که با آرایه اول مقایسه میشود. |
array3,... | اختیاری. آرایههایی که با آرایه اول مقایسه میشوند. |
myfunction_key |
ضروری. نام فونکشن کاربر تعریف شده برای مقایسه نامهای آرایهها. فونکشن مقایسهای تعریف شده برای مقایسه کلیدهای آرایهها ضروری است. اگر پارامتر اول کمتر از یا برابر با پارامتر دوم باشد، فونکشن مقایسهای باید یک عدد کمتر از یا برابر با ۰ بازمیگرداند. |
myfunction_value |
ضروری. نام فونکشن کاربر تعریف شده برای مقایسه مقادیر آرایهها. فونکشن مقایسهای تعریف شده برای مقایسه کلیدهای آرایهها ضروری است. اگر پارامتر اول کمتر از یا برابر با پارامتر دوم باشد، فونکشن مقایسهای باید یک عدد کمتر از یا برابر با ۰ بازمیگرداند. |
از فونکشنهای کاربر تعریف شده استفاده میشود myfunction_key و myfunction_value برای محاسبه نقطههای مشترک دو یا چند آرایه (در array1 در آرایهای که در آن وجود دارد و در سایر آرایههای دیگر نیز وجود دارد، تمامی عناصر آرایهها را بازمیگرداند و آرایه نتیجه را بازمیگرداند.
مقایسه نامهای کلید و مقادیر به صورت همزمان انجام میشود، مانند "a"=>1 و "b"=>1 این دو عنصر برابر نیستند.
myfunction_key این فونکشن برای مقایسه نامهای کلیدها آیا برابر هستند یا خیر استفاده میشود.myfunction_value این فونکشن برای مقایسه کلیدها و مقادیر آیا برابر هستند یا خیر استفاده میشود. هر دو فونکشن دو پارامتر برای مقایسه دارند. اگر پارامتر اول کوچکتر از دومین پارامتر باشد، فونکشن یک عدد منفی بازمیگرداند، اگر پارامترها برابر باشند، باید ۰ بازمیگرداند و اگر پارامتر اول بزرگتر از دومین پارامتر باشد، یک عدد مثبت بازمیگرداند.
در آرایه بازگشتی نامهای کلید بدون تغییر باقی میمانند.
جزئیات فنی
مقدار بازگشتی: | یک آرایه بازمیگرداند که شامل تمامی عناصر است که در array1 در همه آرایههای دیگر نیز وجود دارد. |
نسخه PHP: | 5+ |