اشتراک کاربری انجمنی (array_uintersect_assoc)
در «اشتراک کاربری انجمنی (array_uintersect_assoc)» هم «کلید (Key)» مهم است و هم «مقدار (Value)». سپس فقط عضوهایی که کلید و مقدارشان در همه آرایه ها مشترک است برگردانده می شود. «تابع کاربری (User-defined Function)» یعنی تابعی که خودت برای مقایسه مقدارها می نویسی.
تعریف و کاربرد اشتراک کاربری انجمنی
array_uintersect_assoc کلیدها را با تابع درونی PHP می سنجد و مقدارها را با تابع کاربری تو. در نتیجه، فقط ورودی های آرایه اول که کلید و مقدارشان در سایر آرایه ها هم هست برمی گردند.
سینتکس (Syntax)
array_uintersect_assoc($array1, $array2, $array3, ..., $compareFn);
مثال: مقایسه کلیدها و مقدارها
تابع مقایسه باید عدد برگرداند: 0 برابر، 1 بزرگ تر، -1 کوچک تر.
<?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 را با آرایه ها و تابع صدا بزن.
- نتیجه اشتراک را چاپ و بررسی کن.
نکته: کلید باید دقیقاً برابر باشد. مقدار هم باید طبق تابع کاربری برابر شود.
لینک های داخلی مرتبط
برای درک تفاوت ها ببین: اشتراک کاربری، تفاضل کاربری، و اشتراک کاربری انجمنی+کلید. همچنین اشتراک کاربری انجمنی را به عنوان مرجع این صفحه نگه دار.
جمع بندی سریع
- کلید و مقدار هر دو بررسی می شوند.
- کلیدها با تابع درونی سنجیده می شوند.
- مقدارها با تابع کاربری مقایسه می شوند.
- فقط ورودی های مشترک آرایه اول برمی گردند.