လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_diff_assoc () ကိစ္စတွင်အထိခိုက်မခံပြ problem နာခွဲခြမ်းစိတ်ဖြာခြင်း

array_diff_assoc () ကိစ္စတွင်အထိခိုက်မခံပြ problem နာခွဲခြမ်းစိတ်ဖြာခြင်း

M66 2025-06-07

PHP သည်များသောအားဖြင့် developer များကိုကြွယ်ဝသော array စစ်ဆင်ရေးလုပ်ဆောင်ချက်များနှင့်အတူထောက်ပံ့ပေးသောပရိုဂရမ်ဘာသာစကားတစ်ခုဖြစ်သည်။ Array Processing ပြုလုပ်နေစဉ်အတွင်း Array_diff_assoC () သည်ပထမခင်းကျင်းမှုနှစ်ခုနှင့်ပြန်လည်ပတ်မှုနှစ်ခုနှင့်နှိုင်းယှဉ်ရန်အသုံးပြုသောအလွန်အသုံးဝင်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်သော့နှင့်တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကသူတို့၏အမျိုးအစားများကိုစဉ်းစားသည်။

ယနေ့ကျွန်ုပ်တို့စူးစမ်းလေ့လာတော့သည့်အဓိကအချက်မှာ array_diff_assoc () သည်စာလုံးအကြီးအသေးအရေးအကြီးဖြစ်သည့်အရာနှင့်မည်သို့ကွာခြားမှုသည်ရလဒ်အပေါ်သက်ရောက်မှုရှိသည်။

array_diff_assoc () function ကို၏အခြေခံအသုံးပြုမှု

ပထမ ဦး စွာ Array_diff_assoC () function ကို၏အခြေခံအသုံးပြုမှုကိုလျင်မြန်စွာပြန်လည်သုံးသပ်ကြပါစို့။ ဤလုပ်ဆောင်မှု၏ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_diff_assoc(array $array1, array $array2): array

ဤလုပ်ဆောင်ချက်သည် ဒေါ်လာ array 1 ရှိဒြပ်စင်များပါ 0 င်သော array တစ်ခုသို့ပြန်လည်ရောက်ရှိသော်လည်း ဒေါ်လာ array2 တွင်မပါ 0 င်ပါ။ သတိပြုသင့်သည်မှာ array_diff_assoc () သည် သော့နှင့်တန်ဖိုးအမျိုးအစားနှင့်တန်ဖိုးပါအကြောင်းအရာများကိုထည့်သွင်းစဉ်းစားသင့်သည်ကိုသတိပြုသင့်သည်။

နမူနာကုဒ်:

 $array1 = array(
    "a" => "apple",
    "b" => "banana",
    "c" => "cherry"
);

$array2 = array(
    "a" => "apple",
    "b" => "Banana",
    "c" => "cherry"
);

$result = array_diff_assoc($array1, $array2);

print_r($result);

output ရလဒ် -

 Array
(
    [b] => banana
)

Array_diff_assoC () စာလုံးအကြီးအသေးဘာကြောင့်ဖြစ်ရတာလဲ။

array_diff_assoc () သည်စာလုံးအကြီးအသေးအရေးကြီးသည့်အကြောင်းအရင်းသည်၎င်း၏နှိုင်းယှဉ်ချက်နည်းလမ်းဖြစ်သည်။ function အတွင်းရှိ PHP သည် convergence operator ( === ) ကိုအသုံးပြုသည်။ Congruent operator များသည်တန်ဖိုးများနှင့်ပါအကြောင်းအရာများကိုနှိုင်းယှဉ်ရန်သာမကသူတို့၏အမျိုးအစားများနှင့်စာလုံးကြီးများနှင့်စာလုံးကြီးများလည်းပါ 0 င်သည်။

ဥပမာအားဖြင့်:

အထက်ပါကုဒ်နမူနာတွင်ကျွန်ုပ်တို့တွေ့ရသည်။

  • $ array1 ၏တန်ဖိုး ["ခ"] သည် "ငှက်ပျော" ဖြစ်သည်။

  • $ array2 ၏တန်ဖိုး ["B"] သည် "ငှက်ပျော" ဖြစ်သည်။

array_diff_assoc () သည် နှိုင်းယှဉ်မှုအတွက် convergence အော်ပရေတာများကိုအသုံးပြုသည်။

ထို့ကြောင့် array_diff_assoc () ဤဥပမာတွင် "ငှက်ပျောသီး" တွင် Array1 နှင့် "ငှက်ပျော" တွင် Array2 ရှိ "ငှက်ပျောသီး" သည်ကွဲပြားခြားနားသောကြောင့်ကွဲပြားခြားနားသောကြောင့်၎င်းကိုပြောင်းလဲခြင်းအဖြစ်သို့ပြန်ပို့သည်။

ရလဒ်များကိုဘယ်လိုအကျိုးသက်ရောက်မလဲ။

array_diff_assoc () ၏ဖြစ်ရပ်မှန်အထိခိုက်မခံသောသဘောသဘာဝသည်ရလဒ်အပေါ်သိသိသာသာသက်ရောက်မှုရှိလိမ့်မည်။ အကယ်. သင်ကစာလုံးအကြီးအသေးအရေးမကြီးလိုပါကနှိုင်းယှဉ်မှုအတွက်အခြားနည်းစနစ်များကိုအသုံးပြုရန်စဉ်းစားပါ။ ဥပမာအားဖြင့်, သင်သည်တန်ဖိုးများအားလုံးကိုစာလုံးအသေးများ (သို့မဟုတ်စာလုံးအကြီး) သို့ပြောင်းရန် array_map () function ကို သုံး. နှိုင်းယှဉ်နိုင်သည်။

array_map ကို သုံး. စာလုံးအသေးသို့ပြောင်းပါ။

 $array1 = array(
    "a" => "apple",
    "b" => "banana",
    "c" => "cherry"
);

$array2 = array(
    "a" => "apple",
    "b" => "Banana",
    "c" => "cherry"
);

// တန်ဖိုးများအားလုံးကိုစာလုံးအသေးပြောင်းပါ
$array1 = array_map('strtolower', $array1);
$array2 = array_map('strtolower', $array2);

$result = array_diff_assoc($array1, $array2);

print_r($result);

ဤကုဒ်သည် array များ၏တန်ဖိုးများကိုစာလုံးအသေးများအဖြစ်ပြောင်းလဲပြီး၎င်းကိုနှိုင်းယှဉ်နိုင်သည်။ output ကိုဖြစ်လိမ့်မည်:

 Array
(
    [b] => banana
)

အကျဉ်းချုပ်

Array_Diff_AssoC () သည်စာလုံးအကြီးအသေးအရေးပါသောအော်ပရေတာကို အသုံးပြု. strings များကိုနှိုင်းယှဉ်သောအခါ array တစ်ခု၏သော့ချက်များနှင့်တန်ဖိုးများကိုနှိုင်းယှဉ်ရန်အတွက် congruent operator ကိုအသုံးပြုသောကြောင့်ဖြစ်သည်။ ဤပြ problem နာကိုရှောင်ရှားရန် array_diff_assoc ( ) ကိုမခေါ်ပါနှင့် () မခေါ်ပါနှင့်။

ဤဆောင်းပါးသည် array_diff_assoc () ၏အပြုအမူကိုပိုမိုနားလည်သဘောပေါက်ရန်မျှော်လင့်ပါသည်။ သင့်တွင်အခြားမေးခွန်းများရှိပါကအခမဲ့မေးမြန်းပါ။