PHP, array_diff_key () နှင့် array_diff_soc () နှင့် array_diff_Aff_Assoc () သည် arrays များကိုနှိုင်းယှဉ်ရန်အသုံးပြုသောလုပ်ဆောင်ချက်နှစ်ခုစလုံးဖြစ်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်ချက်နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုအသေးစိတ်ဖော်ပြပြီး၎င်းတို့၏သက်ဆိုင်ရာအသုံးပြုမှုဆိုင်ရာအခြေအနေများအကြောင်းဆွေးနွေးပါမည်။
array_diff_ey () ကို နှစ်ခုထက်ပိုသောနေရာများ (သော့ချက်များ) ကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။
array_diff_key(array $array1, array $array2, array ...$arrays): array
$ array1 : ပထမ ဦး ဆုံးခင်းကျင်း (ရည်ညွှန်းခင်းကျင်း) ။
$ array2, ... $ arrays : ပထမ ဦး ဆုံးခင်းကျင်းနှင့်နှိုင်းယှဉ်ခံရဖို့ Array ။
$array1 = [
"a" => 1,
"b" => 2,
"c" => 3
];
$array2 = [
"a" => 4,
"c" => 5
];
$result = array_diff_key($array1, $array2);
print_r($result);
Array
(
[b] => 2
)
ဤဥပမာတွင် array_diff_ey () သည် array နှစ်ခု၏အဓိကအကြောင်းကိုနှိုင်းယှဉ်ထားသည်။ ရရှိသောရလဒ်များသည် ဒေါ်လာ array1 တွင်ရှိသည့်သော့ချက်တန်ဖိုးအတွဲများဖြစ်သည်။
Array_diff_assoc () သည်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောသော့ချက်အမည်များနှင့်တန်ဖိုးများ (key and value) ကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ array_diff_key () မတူဘဲ၎င်းသည်သော့ချက်အမည်များကိုနှိုင်းယှဉ်ရုံသာမကသော့များနှင့်သက်ဆိုင်သောတန်ဖိုးများကိုလည်းနှိုင်းယှဉ်သည်။
array_diff_assoc(array $array1, array $array2, array ...$arrays): array
$ array1 : ပထမ ဦး ဆုံးခင်းကျင်း (ရည်ညွှန်းခင်းကျင်း) ။
$ array2, ... $ arrays : ပထမ ဦး ဆုံးခင်းကျင်းနှင့်နှိုင်းယှဉ်ခံရဖို့ Array ။
$array1 = [
"a" => 1,
"b" => 2,
"c" => 3
];
$array2 = [
"a" => 4,
"c" => 3
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
Array
(
[a] => 1
[b] => 2
)
ဤဥပမာတွင် array_diff_assoc () သည် ငွေကြေးဆိုင်ရာ array1 နှင့် $ array2 ၏အဓိကအမည်များနှင့်တန်ဖိုးများကိုနှိုင်းယှဉ်သည်။ ရရှိသောရလဒ်များသည် ဒေါ်လာ array1 တွင်ရှိသည့်သော့ချက်တန်ဖိုးအတွဲများဖြစ်သည်။ သို့သော် ဒေါ်လာ array တွင်တူညီသောသော့အမည်နှင့်တန်ဖိုးအတိအကျမရှိပါ။
array_diff_ey () သော့ချက်အမည်များကိုသာနှိုင်းယှဉ်။ သော့၏သက်ဆိုင်ရာတန်ဖိုးများကိုလျစ်လျူရှုထားသည်။
array_diff_assoc () သည် အဓိကအမည်များနှင့်တန်ဖိုးများကိုတစ်ချိန်တည်းနှိုင်းယှဉ်နိုင်သည်။ အဓိကအမည်များနှင့်တန်ဖိုးများကွဲပြားခြားနားသောမှသာကွဲပြားခြားနားသောစဉ်းစားလိမ့်မည်။
Array_Diff_Key () သည်သင်သာခင်းကျင်း၏အဓိကအမည်များကိုသာဂရုစိုက်သောအခြေအနေများအတွက်သင့်လျော်သည်။ သို့သော်သက်ဆိုင်ရာတန်ဖိုးများမဟုတ်ပါ။ ဥပမာအားဖြင့်, သင်သော့အချို့ကိုဖယ်ရှားလိုခြင်းသို့မဟုတ်နှစ်ခု array ၏ဖွဲ့စည်းပုံနှိုင်းယှဉ်ချင်တယ်။
Array_diff_AssoC () သည်သော့ချက်အမည်များနှင့်တန်ဖိုးများကိုကွဲပြားခြားနားသောသော့ချက်အမည်များနှင့်တန်ဖိုးများကိုထုတ်ယူခြင်းစသည့်ခင်းကျင်းမှုများကိုပြည့်မီစေရန်အတွက်သော့ချက်များနှင့်တန်ဖိုးများကိုလုံးလုံးနှိုင်းယှဉ်ရန်လိုအပ်သည့်အခါ arraiff_diff_soc () သည်သာမန်အခြေအနေများနှင့်နှိုင်းယှဉ်ရန်အတွက်သင့်လျော်သည်။
ကျွန်ုပ်တို့တွင် URLs ကွဲပြားခြားနားသော URLs များပါ 0 င်ပြီးအစားထိုးရန်လိုအပ်သည်ဆိုပါစို့။ We can use array_diff_key() or array_diff_assoc() to implement replacement, depending on whether we need to compare based on key or key value.
$urls = [
"home" => "http://m66.net/home",
"about" => "http://example.com/about",
"contact" => "http://m66.net/contact"
];
$other_urls = [
"home" => "http://m66.net/home",
"about" => "http://m66.net/about",
];
$result = array_diff_key($urls, $other_urls);
print_r($result);
Array
(
[contact] => http://m66.net/contact
)
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်သော့ချက်အမည်ပေါ်တွင်သာအခြေခံသည်နှင့်နောက်ဆုံးတွင် $ URLs များ တွင်ရှိသောပစ္စည်းများကိုရှာဖွေတွေ့ရှိခဲ့သော်လည်း $ အခြား ujurls တွင်မပါ 0 င်ပါ။
အထက်ဖော်ပြပါအချက်သည် array_diff_key () နှင့် array_diff_assoc အကြားခြားနားချက်ဖြစ်သည်။ သင်၏လိုအပ်ချက်များအရ array ကွဲပြားခြားနားမှုများကိုကိုင်တွယ်ရန်မှန်ကန်သော function ကိုရွေးချယ်ခြင်းသည် code ၏ထိရောက်မှုနှင့်ဖတ်နိုင်မှုကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။