array_diff_assoc () PHP တွင်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်ဖြစ်သည်။ ၎င်းသည်သော့ချက်တန်ဖိုးအတွဲနှစ်မျိုးနှင့်နှိုင်းယှဉ်ရန်နှင့်ဒုတိယခင်းကျင်းခြင်းထက်ပထမ ဦး ဆုံးခင်းကျင်းမှု၏ကွဲပြားခြားနားသောအပိုင်းကိုပြန်ပို့ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုသည်အလွန်အလိုလိုသိသည်ဖြစ်သော်လည်း developer များအသုံးပြုစဉ်အတွင်း၎င်း၏အပြုအမူကိုနားလည်မှုလွဲလေ့ရှိသည်။ ယနေ့တွင်ကျွန်ုပ်တို့သည် array_diff_soc () ကိုပိုမိုနားလည်စေရန် array_diff_assoc () တွင်ရှိသောဘုံကျော့ကွင်းများနှင့်နားလည်မှုလွဲမှားခြင်းများကိုလေ့လာမည်။
Array_diff_assoc () () တန်ဖိုးများကိုခင်းကျင်းမှုတွင်နှိုင်းယှဉ်ရုံသာမကခင်းကျင်းနေသောသော့များကိုလည်းနှိုင်းယှဉ်ထားသည်။ ထို့ကြောင့်သော့ချက်များသည်ကွဲပြားခြားနားသရွေ့, တန်ဖိုးများနှစ်ခုအတူတူပင်ဖြစ်လျှင်ပင် array နှစ်ခုကို "ကွဲပြားခြားနားသော" ဟုသတ်မှတ်သည်။ ၎င်းသည်တန်ဖိုးများကိုနှိုင်းယှဉ်ခြင်းနှင့်သော့များကိုဂရုမစိုက်သော array_diff () function ၏အပြုအမူ၏အပြုအမူနှင့်ကွဲပြားခြားနားသည်။
$array1 = [
0 => 'apple',
1 => 'banana'
];
$array2 = [
1 => 'banana',
0 => 'apple'
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[0] => apple
)
ရှင်းပြပါ -
$ array1 နှင့် $ array2 ရှိတန်ဖိုးများသည်အတူတူပင်ဖြစ်သော်လည်း array_diff_assoc () သည် သူတို့၏ကွဲပြားသောသော့များကြောင့်ကွဲပြားသည်ဟုထင်မြင်သည်။
Array_diff_assoc () သည် ခင်းကျင်းမှု၏တန်ဖိုးများနှင့်သော့များကိုတင်းကြပ်စွာနှိုင်းယှဉ်သည်, ဆိုလိုသည်မှာ၎င်းသည်အမျိုးအစားများကိုစစ်ဆေးရုံသာမကတန်ဖိုးအမျိုးအစားများကိုစစ်ဆေးသည်။ ဆိုလိုသည်မှာနံပါတ် 1 နှင့် string '1' ကိုကွဲပြားခြားနားမည်ဟုယူမှတ်လိမ့်မည်။
$array1 = [
'a' => 1,
'b' => '2'
];
$array2 = [
'a' => '1',
'b' => 2
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[a] => 1
[b] => '2'
)
ရှင်းပြပါ -
array_diff_assoc () နံပါတ် 1 နှင့် string ကို 1 '' 1 'ကို ကွဲပြားခြားနားသောတန်ဖိုးများအဖြစ်ရွေးချယ်သည်။ အလားတူစွာ '2' နှင့် 2 ကိုလည်းကွဲပြားခြားနားသည်ဟုယူဆကြသည်။ ဤတင်းကျပ်သောနှိုင်းယှဉ်ချက်သည်အချက်အလက်အမျိုးအစားကိုပိုမိုအာရုံစိုက်စေပြီးမမျှော်လင့်သောရလဒ်များကိုရှောင်ကြဉ်လိမ့်မည်။
array_diff_assoc () ၏ပထမဆုံး parameter သည်အချည်းနှီးသောခင်းကျင်းမှုတစ်ခုဖြစ်ပါက၎င်းသည်အချည်းနှီးသောခင်းကျင်းမှုကိုတိုက်ရိုက်ပြန်ပို့လိမ့်မည်။ ဤအပြုအမူသည်ကျိုးကြောင်းဆီလျော်သည်, သို့သော်အချို့သော developer အချို့နားလည်မှုလွဲမှားစွာနားလည်မှုလွဲမှားစွာနားလည်မှုလွဲနေလိမ့်မည်။ တကယ်တော့ array_diff_assoc () arrays နှစ်ခုလုံးမှာအကြောင်းအရာတွေရှိရင်ကွဲပြားခြားနားမှုတွေရှိရင်သာအချည်းနှီးသောကွဲပြားခြားနားမှုကိုပြန်ပို့သည်။
$array1 = [];
$array2 = [1 => 'apple', 2 => 'banana'];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ထုတ်လုပ်မှု -
Array
()
ရှင်းပြပါ -
$ array1 သည်ဗလာဖြစ်သည့်အတွက် array_diff_assoc () သည် ခြားနားချက်မရှိကြောင်းညွှန်ပြသည့်အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့သည်။ ၎င်းသည် developer တချို့ကိုလုပ်ဆောင်ချက်တစ်ခုမှားယွင်းနေသည်ဟုမှားယွင်းစွာထင်မြင်စေနိုင်သည်။
array_diff_assoc () သည် တစ်ရှုထောင်ခင်းကျင်းမှုများကိုသော့ချက်ကျသောအတွဲများနှင့်သာနှိုင်းယှဉ်ထားသည်။ အကယ်. Array တွင်အသိုက် incray များပါ 0 င်ပါက array_diff_assoc () သည် ဤအသိုက်ထည့်သွင်းထားသောအရာများ၏သော့ချက်တန်ဖိုးအတွဲများကိုမနှိုင်းယှဉ်ခြင်းမရှိပါ။
$array1 = [
'a' => ['apple', 'orange'],
'b' => 'banana'
];
$array2 = [
'a' => ['apple', 'orange'],
'b' => 'banana'
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ထုတ်လုပ်မှု -
Array
()
ရှင်းပြပါ -
array1 နှင့် Array2 တွင်တန်ဖိုးများတွင်အသိုက် incray များပါ 0 င်သော်လည်း array_diff_assoc () သည် ဤ array နှစ်ခုကိုတန်းတူပြုလုပ်နေဆဲဖြစ်သည်။ သငျသညျအသိုက် arrays နှိုင်းယှဉ်ဖို့လိုအပ်ပါကအခြားနည်းလမ်းသို့မဟုတ် recursive functions ကိုသုံးရန်လိုအပ်ပေမည်။
Array_diff_assoc () ကို ပြန်လည်ရောက်ရှိသည့် array ()) တွင်ပြန်လာသောသော့ချက်တန်ဖိုးအတွဲများသာပါ 0 င်သည်။ ခြားနားချက်မရှိပါက function ကိုအချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့သည်။ developer အတော်များများက၎င်းကိုအသုံးပြုသောအခါ၎င်းကို အသုံးပြု. ဤအရာကိုလျစ်လျူရှုထားပြီး၎င်းတို့ကိုပြန်လည်ထူထောင်ရေးရလဒ်များကိုနားလည်မှုလွဲစေနိုင်သည်။
$array1 = [1, 2, 3];
$array2 = [1, 2];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[2] => 3
)
ရှင်းပြပါ -
ဤဥပမာတွင် array_diff_assoc () သည် 2 ခု၏တန်ဖိုးကို 2 ခုနှင့်တန်ဖိုးတစ်ခုနှင့်အတူ ခင်းကျင်းထား သည့်ဒြပ်စင်တစ်ခုသို့ပြန်ပို့သည် ။