Array_diff_assoc () သည် PHP ၏ built-in နှိုင်းယှဉ်မှုယန္တရားကိုအခြေခံသည်ကိုအခြေခံသည်။ ၎င်းသည် PHP နှင့်နှိုင်းယှဉ်ခြင်းအော်ပရေတာကိုအသုံးပြုသည် ( == ) ကိုအသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည် parameter ကိုစိတ်ကြိုက်နှိုင်းယှဉ်ခြင်း function ကိုဖြတ်သန်းရန်မထောက်ပံ့ပါ။ ထို့ကြောင့်၎င်းသည်သင်နှိုင်းယှဉ်ပုံကိုတိုက်ရိုက်မပြောင်းလဲနိုင်ပါ။
အထူးသဖြင့် array_diff_assoc () function ကိုအကောင်အထည်ဖော်မှု သည် callback function များကို ထောက်ပံ့ရန်ဒီဇိုင်းရေးဆွဲခြင်းမရှိပါ။ ၎င်းသည်ကျွန်ုပ်တို့၏စိတ်ကြိုက်နှိုင်းယှဉ်မှုယုတ္တိဗေဒကို array_diff_assoc () ကိုစိတ်ကြိုက်ပြင်ဆင်ရန်မဖြစ်နိုင်ပါက array တန်ဖိုးများကိုတိကျစွာစည်းမျဉ်းစည်းကမ်းများနှင့်နှိုင်းယှဉ်လျှင်သတ်သတ်မှတ်မှတ်စည်းမျဉ်းများကိုအသုံးပြုသည်။
ပုံမှန်အားဖြင့် array_diff_assoc () သည် ခင်းကျင်း၏သော့နှင့်တန်ဖိုးများအပေါ် အခြေခံ. စံနှိုင်းယှဉ်မှုများပြုလုပ်သည်။ အကယ်. Array နှစ်ခုသည်တူညီသောသော့ချက်ရှိလျှင်၎င်းတို့၏တန်ဖိုးများမှာမတူပါက, array_diff_assoc () ခြားနားချက်ကိုပြန်ပို့သည်။ ဥပမာအားဖြင့်:
$array1 = [
"a" => "apple",
"b" => "banana",
"c" => "cherry"
];
$array2 = [
"a" => "apple",
"b" => "berry",
"c" => "cherry"
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[b] => banana
)
ဤဥပမာတွင် array_diff_assoc () သည် array နှစ်ခုအကြားခြားနားချက်ကိုရှာဖွေသည် - "B" နှင့်အတူတန်ဖိုးသည်ခင်းကျင်းမှုနှစ်ခုတွင်ကွဲပြားခြားနားသည်။
သို့သော်သင်သည်အချို့သောဓလေ့ထုံးစံများကိုတစ်နည်းနည်းဖြင့်နှိုင်းယှဉ်ခြင်း , အရာဝတ်ထုများကိုလျစ်လျူရှုခြင်း, အရာဝတ်ထုအချို့ကိုလျစ်လျူရှုခြင်း,
Array_Diff_AsSoC () သည်စိတ်ကြိုက်နှိုင်းယှဉ်မှုများကိုမထောက်ပံ့နိုင်သော်လည်းအခြားနည်းများဖြင့်စိတ်ကြိုက်နှိုင်းယှဉ်သည့်ယုတ္တိဗေဒကိုကျွန်ုပ်တို့အကောင်အထည်ဖော်နိုင်သည်။ ဘုံဖြေရှင်းချက်တစ်ခုမှာ array_fileter () နှင့်စိတ်ကြိုက်နှိုင်းယှဉ်မှု function မှတဆင့်ခြားနားချက်နှိုင်းယှဉ်မှုကိုကိုယ်တိုင်ကိုယ်ကျအကောင်အထည်ဖော်ရန်ဖြစ်သည်။
array_diff_assoc () ကို စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်မှုဖြင့်အစားထိုးခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။
function custom_compare($value1, $value2) {
// ဥပမာအားဖြင့်,နှိုင်းယှဉ်မှုအတွက်အမှုကိုလျစ်လျူရှုပါ
return strcasecmp($value1, $value2) !== 0;
}
function custom_array_diff_assoc($array1, $array2) {
$result = [];
foreach ($array1 as $key => $value1) {
if (!array_key_exists($key, $array2) || custom_compare($value1, $array2[$key])) {
$result[$key] = $value1;
}
}
return $result;
}
$array1 = [
"a" => "Apple",
"b" => "banana",
"c" => "Cherry"
];
$array2 = [
"a" => "apple",
"b" => "Banana",
"c" => "Cherry"
];
$result = custom_array_diff_assoc($array1, $array2);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[a] => Apple
[b] => banana
)
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်နှိုင်းယှဉ်မှု၏အထက်နှင့်အောက်ပိုင်းအမှုတို့ကိုလျစ်လျူရှုရန် Custom_Compare () ဟုခေါ်သောစိတ်ကြိုက်နှိုင်းယှဉ်မှု function ကိုသတ်မှတ်သည်။ Custom_RARARY_DIFF_ASTIFT_DIFF_ASSOC () , ကျွန်ုပ်တို့သည်အဓိကကျသည့်သော့နှစ်ခုစလုံးတွင်တည်ရှိခြင်းရှိမရှိကို ဦး စွာစစ်ဆေးသည်။ အကယ်. ၎င်းတည်ရှိပါကတန်ဖိုးများသည်စိတ်ကြိုက်နှိုင်းယှဉ်မှု function မှတစ်ဆင့်တူညီသည်ကိုကျွန်ုပ်တို့ဆုံးဖြတ်နိုင်သည်။ အကယ်. တန်ဖိုးများကွဲပြားလျှင်, သော့ချက်တန်ဖိုးတွဲကိုရလဒ်ခင်းကျင်း၌ထည့်သွင်းထားသည်။
ဤနည်းလမ်းသည်ကျွန်ုပ်တို့အားပိုမိုပြောင်းလွယ်ပြင်လွယ်ပေးပြီးကျွန်ုပ်တို့၏လိုအပ်ချက်များနှင့်နှိုင်းယှဉ်နိုင်သည့်ယုတ္တိဗေဒကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။
နှိုင်းယှဉ်မှုယုတ္တိဗေဒကိုကိုယ်တိုင်ကိုယ်ကျအကောင်အထည်ဖော်ရန်အပြင် array_udiff_assoc () ကဲ့သို့သောအခြား built-in functions များကိုလည်း အသုံးပြု. array_udiff_assoc () ကိုအသုံးပြုသည်။ Array_udiff_assoc () function ၏နိယာမ () function သည် array_diff_assoc () နှင့်ဆင်တူသော်လည်းနှိုင်းယှဉ်မှုများပြုလုပ်ရန်စိတ်ကြိုက်ခေါ်ဆိုမှု function ကိုလက်ခံသည်။
နမူနာကုဒ်:
function custom_compare($value1, $value2) {
return strcasecmp($value1, $value2);
}
$array1 = [
"a" => "Apple",
"b" => "banana",
"c" => "Cherry"
];
$array2 = [
"a" => "apple",
"b" => "Banana",
"c" => "Cherry"
];
$result = array_udiff_assoc($array1, $array2, 'custom_compare');
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[a] => Apple
[b] => banana
)
ဤဥပမာတွင် array_udiff_assoc () function သည် custom_cragpare () ကို အသုံးပြုသည်။