လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> သငျသညျနားလည်မှုလွဲခဲ့ကြပေမည်! array_diff_assoc () တရားဝင်စာရွက်စာတမ်းများတွင်ဘုံပြန့်ပွားမှုနှင့်နားလည်မှုလွဲမှားခြင်းများ

သငျသညျနားလည်မှုလွဲခဲ့ကြပေမည်! array_diff_assoc () တရားဝင်စာရွက်စာတမ်းများတွင်ဘုံပြန့်ပွားမှုနှင့်နားလည်မှုလွဲမှားခြင်းများ

M66 2025-06-06

array_diff_assoc () PHP တွင်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်ဖြစ်သည်။ ၎င်းသည်သော့ချက်တန်ဖိုးအတွဲနှစ်မျိုးနှင့်နှိုင်းယှဉ်ရန်နှင့်ဒုတိယခင်းကျင်းခြင်းထက်ပထမ ဦး ဆုံးခင်းကျင်းမှု၏ကွဲပြားခြားနားသောအပိုင်းကိုပြန်ပို့ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုသည်အလွန်အလိုလိုသိသည်ဖြစ်သော်လည်း developer များအသုံးပြုစဉ်အတွင်း၎င်း၏အပြုအမူကိုနားလည်မှုလွဲလေ့ရှိသည်။ ယနေ့တွင်ကျွန်ုပ်တို့သည် array_diff_soc () ကိုပိုမိုနားလည်စေရန် array_diff_assoc () တွင်ရှိသောဘုံကျော့ကွင်းများနှင့်နားလည်မှုလွဲမှားခြင်းများကိုလေ့လာမည်။

1 ။ မှားယွင်းသောယူဆချက် 1: သော့များ၏နှိုင်းယှဉ်မှုကိုလျစ်လျူရှုပါ

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 () သည် သူတို့၏ကွဲပြားသောသော့များကြောင့်ကွဲပြားသည်ဟုထင်မြင်သည်။

2 ။ MONSCOTICELE 2: တင်းကြပ်စွာနှိုင်းယှဉ်ခြင်းမှအာရုံမစိုက်ပါနှင့်

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 ကိုလည်းကွဲပြားခြားနားသည်ဟုယူဆကြသည်။ ဤတင်းကျပ်သောနှိုင်းယှဉ်ချက်သည်အချက်အလက်အမျိုးအစားကိုပိုမိုအာရုံစိုက်စေပြီးမမျှော်လင့်သောရလဒ်များကိုရှောင်ကြဉ်လိမ့်မည်။

3 ။ နားလည်မှုလွဲခြင်း 3: အချည်းနှီးသော arrays ၏နားလည်မှုလွဲခြင်း

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 တချို့ကိုလုပ်ဆောင်ချက်တစ်ခုမှားယွင်းနေသည်ဟုမှားယွင်းစွာထင်မြင်စေနိုင်သည်။

4 ။ နားလည်မှုလွဲခြင်း 4: အသိုက် Arrays ကိုနားလည်မှုလွဲခြင်း

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 ကိုသုံးရန်လိုအပ်ပေမည်။

5 ။ နားလည်မှုလွဲခြင်း 5: ပြန်လာတန်ဖိုး၏ဖွဲ့စည်းပုံကိုနားမလည်ပါ

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 ခုနှင့်တန်ဖိုးတစ်ခုနှင့်အတူ ခင်းကျင်းထား သည့်ဒြပ်စင်တစ်ခုသို့ပြန်ပို့သည်