تفاضل کاربری انجمنی (array_udiff_assoc)
«تفاضل کاربری انجمنی» یعنی مقایسه آرایه ها با توجه به کلید و مقدار. مقدارها با «تابع کاربری» مقایسه می شوند. کلیدها با تابع داخلی مقایسه می شوند.
تعریف و کاربرد
array_udiff_assoc مقدارها و کلیدهای دو یا چند آرایه را بررسی می کند. سپس مواردی را برمی گرداند که فقط در آرایه اول هستند. قانون مقایسه مقدارها را خودت می نویسی.
سینتکس (Syntax)
array_udiff_assoc($array1, $array2, $array3, ..., $compareFn);
مثال: تفاضل بر پایه کلید و مقدار
تابع کاربری باید -1 یا 0 یا 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_udiff_assoc($a1, $a2, "myfunction");
print_r($result);
?>
نکته: در این تابع، کلیدها با مقایسه داخلی چک می شوند. مقدارها با تابع کاربری سنجیده می شوند.
گام های عملی سریع
- آرایه ها را آماده کن.
- تابع مقایسه مقدارها را بنویس.
- array_udiff_assoc را اجرا کن.
لینک های داخلی
برای موضوعات مرتبط ببین: تفاضل کاربری، تفاضل انجمنی، و اشتراک کاربری انجمنی.
جمع بندی سریع
- تفاضل کاربری انجمنی، کلید و مقدار را می سنجد.
- قانون مقایسه مقدار، دستِ توست.
- خروجی، اعضای یکتای آرایه اول است.
- کلیدها با مقایسه داخلی چک می شوند.