اشتراک کاربری انجمنی+کلید (array_uintersect_uassoc)
در «اشتراک کاربری انجمنی+کلید (array_uintersect_uassoc)» هم «کلید (Key)» مهم است و هم «مقدار (Value)». سپس با دو «تابع کاربری (User-defined Function)» مقایسه می کنیم. بنابراین فقط ورودی هایی برمی گردند که هم کلید و هم مقدارشان در همه آرایه ها یکسان باشد.
تعریف و کاربرد اشتراک کاربری انجمنی+کلید
array_uintersect_uassoc کلیدها و مقدارها را با دو تابع کاربری می سنجد. نتیجه شامل عضوهای آرایه اول است که کلید و مقدارشان در آرایه های دیگر هم وجود دارد.
سینتکس (Syntax)
array_uintersect_uassoc($array1, $array2, $array3, ..., $myfunc_value, $myfunc_key);
مثال: دو تابع کاربری برای مقدار و کلید
تابع مقایسه باید عدد برگرداند: 0 برابر، 1 بزرگ تر، -1 کوچک تر.
<?php
function myfunction_value($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
function myfunction_key($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_value", "myfunction_key");
print_r($result);
?>
گام های عملی
- دو آرایه انجمنی با رنگ ها بساز.
- تابع مقایسه مقدار را تعریف کن.
- تابع مقایسه کلید را تعریف کن.
- تابع array_uintersect_uassoc را صدا بزن.
- خروجی اشتراک را چاپ و بررسی کن.
نکته: بزرگی و کوچکی حروف می تواند نتیجه را عوض کند. پس الگوی مقایسه را آگاهانه انتخاب کن.
لینک های داخلی مرتبط
برای مقایسه ببین: اشتراک کاربری، اشتراک کاربری انجمنی، و تفاضل کاربری انجمنی+کلید.
جمع بندی سریع
- دو تابع کاربری لازم است.
- کلید و مقدار هر دو سنجیده می شوند.
- نتیجه، عضوهای مشترک آرایه اول است.
- دقت در حروف و نوع مقایسه مهم است.