توابع array_uintersect_assoc() در 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"=>"red","b"=>"blue","c"=>"green"); $result=array_uintersect_assoc($a1,$a2,"myfunction"); print_r($result); ?>
تعریف و استفاده
توابع array_uintersect_assoc() برای مقایسهی دو (یا بیشتر) آرایهی نام کلید و مقادیر و بازگرداندن یک خروجی که شامل مقادیر مشترک (همان) است استفاده میشود.
نکته:این تابع از تابعهای داخلی برای مقایسهی نام کلیدها استفاده میکند و از تابعهای تعریف شده توسط کاربر برای مقایسهی مقادیر استفاده میکند!
این تابع دو (یا بیشتر) آرایهی نام کلید و مقادیر آنها را مقایسه میکند و یک آرایهی خروجی که شامل تمامی مقادیر مشترک در آرایههای مقایسه شده است را بازمیگرداند،array1)، و همچنین در هر آرایهای که به عنوان پارامترهای دیگر (}}array2 یا array3 وغیره) نامهای کلید و مقادیر را مقایسه میکند.
توجه داشته باشید که با array_uintersect() تفاوت اصلی این است که نامهای کلید نیز مقایسه میشوند. دادهها (کلیدها) با استفاده از فونکشن بازگشتی مقایسه میشوند.
نحوه استفاده
array_uintersect_assoc(array1,array2,array3,...myfunction)
پارامترها | توضیح |
---|---|
array1 | ضروری. آرایهای که با دیگر آرایهها مقایسه میشود. |
array2 | ضروری. آرایهای که با اولین آرایه مقایسه میشود. |
array3,... | اختیاری. آرایههای دیگری که با اولین آرایه مقایسه میشوند. |
myfunction |
ضروری. مقدار زبانی، فونکشن قابل فراخوانی تعریف شده. اگر پارامتر اول کمتر از یا برابر با یا بیشتر از دومین پارامتر باشد، فونکشن مقایسه باید یک عدد کمتر از یا برابر با یا بیشتر از 0 بازگرداند. |
توضیح
از فونکشن بازگشتی کاربر استفاده میشود function برای محاسبه تقاطع دو یا چند آرایه (即在 array1 عناصر آرایهای که در آنها وجود دارند، اما در هیچ آرایهای دیگر نیز وجود دارند (در
همچنین مقایسه نامهای کلید و مقادیر انجام میشود، مانند "a"=>1 و "b"=>1 این دو عنصر نامرتبط هستند.
function پارامتری که برای مقایسه عناصر برابر استفاده میشود.function این فونکشن دو پارامتر برای مقایسه دارد. اگر پارامتر اول کمتر از دومین پارامتر باشد، فونکشن یک عدد منفی بازمیگرداند، اگر دو پارامتر برابر باشند، باید 0 بازگردانده شود و اگر پارامتر اول بیشتر از دومین پارامتر باشد، یک عدد مثبت بازمیگرداند.
در آرایه بازگشتی نامهای کلید بدون تغییر باقی میمانند.
جزئیات فنی
مقدار بازگشتی: | یک آرایه را بازمیگرداند که شامل تمام عناصر array1 در همه آرایههای دیگر نیز وجود دارد. |
نسخه PHP: | 5+ |