PHP တွင် array_diff_key () တွင် array array () သည် array နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောနေရာများအကြားအဓိကကွဲပြားခြားနားမှုများ, သို့သော်များစွာသော developer များစွာသည်အရာဝတ်ထုတစ်ခုကို parameter တစ်ခုအဖြစ်လုပ်ဆောင်မှုသို့ကူးပြောင်းနိုင်မလားဆိုတာသိလိုကြပေမည်။ ဒီနေ့ဒီကိစ်စကိုအသေးစိတ်ဆွေးနွေးကြပါစို့။
array_diff_ey () function သည် parameters နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောပြင်ဆင်မှုနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုယူပြီးပထမခင်းကျင်းမှုတွင်တည်ရှိနေသောသော့အသစ်များကိုပြန်လည်ထည့်သွင်းထားသော်လည်းအခြားခင်းကျင်းမှုများတွင်မတည်ရှိပါ။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_diff_key(array $array1, array ...$arrays): array
ဥပမာအားဖြင့်:
$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['a' => 4, 'd' => 5];
$result = array_diff_key($array1, $array2);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[b] => 2
[c] => 3
)
ဤဥပမာတွင် $ ရလဒ် ခင်းကျင်းမှုတွင် ဒေါ်လာ array1 တွင် သော့ချက်များတွင်သော့ချက်များ 'B' နှင့် C ' ပါ 0 င်သည်။
array_diff_key () ၏ function လက်မှတ် () ၏ function ကိုလက်မှတ် () parameter သည် array type အမျိုးအစား ( Array ) ဖြစ်ရန်အတိအလင်းလိုအပ်သည်။ ထို့ကြောင့် parameter သည်အမှားတစ်ခုဖြစ်ပေါ်စေမည့်အရာဝတ်ထုကိုတိုက်ရိုက်ဖြတ်သန်းခြင်း။ ဥပမာအားဖြင့်:
$obj1 = (object)['a' => 1, 'b' => 2];
$obj2 = (object)['a' => 4, 'd' => 5];
$result = array_diff_key($obj1, $obj2); // အမှား!
$ OBJ1 နှင့် $ obj2 သည်အရာဝတ်ထုများမဟုတ်ဘဲဤကုဒ်သည်အမှားတစ်ခုဖြစ်သောကြောင့်ဖြစ်သည်။
အရာဝတ်ထုကို array_diff_key () သို့တိုက်ရိုက်မကူးနိုင်သော်လည်းအရာဝတ်ထုကိုအရာဝတ်ထုတစ်ခုသို့ပြောင်းလဲခြင်းဖြင့်ဤပြ problem နာကိုဖြေရှင်းနိုင်သည်။ PHP သည်သရုပ်ဆောင်ခြင်းကဲ့သို့သောအရာဝတ်ထုမှခင်းကျင်းပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်ရန်နည်းလမ်းအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။
$obj1 = (object)['a' => 1, 'b' => 2];
$obj2 = (object)['a' => 4, 'd' => 5];
// တစ်ခုခင်းကျင်းဖို့ပြောင်းပါ
$array1 = (array)$obj1;
$array2 = (array)$obj2;
$result = array_diff_key($array1, $array2);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[b] => 2
)
အရာဝတ်ထုဂုဏ်သတ္တိများ - အရာဝတ်ထုတစ်ခုကိုခင်းကျင်းစေသည့်အခါအရာဝတ်ထု၏အများပြည်သူ၏ပြည်သူ့ဂုဏ်သတ္တိများသည်ခင်းကျင်းရန်သော့များဖြစ်လာသည်။ အရာဝတ်ထုတွင်ပုဂ္ဂလိကသို့မဟုတ်ကာကွယ်ထားသောဂုဏ်သတ္တိများရှိလျှင်၎င်းတို့သည်လက်လှမ်းမမီဖြစ်လာနိုင်သည်။ ထို့ကြောင့် array_diff_ey () သည် အများပြည်သူဆိုင်ရာဂုဏ်ရည်များနှင့်သာသက်ဆိုင်သည်။
အရာဝတ်ထုနည်းလမ်းများ - array_diff_ey () သည် ခင်းကျင်းခြင်း၏သော့များကိုသာဂရုပြုလေဖြစ်သည်။
အရာဝတ်ထုရှုပ်ထွေးမှု - ရှုပ်ထွေးသောအရာဝတ်ထုများအတွက် (ထိုကဲ့သို့သောအသိုက်အရာဝတ္ထုများသို့မဟုတ် array များပါ 0 င်သောအရာများ) အတွက်သင်၏ပြန်လည်ထူထောင်ရေးအဖြစ်သို့ပြောင်းလဲရန်လိုအပ်နိုင်သည်။
array_diff_ey () အရာဝတ်ထုများကို parameters များအဖြစ်တိုက်ရိုက်လက်မခံနိုင်ပါ။
အရာဝတ်ထုများကို parameters များအဖြစ်အသုံးပြုလိုပါကအရာဝတ်ထုများကို array တစ်ခုထဲသို့ပြောင်းလဲပြီး၎င်းကိုလုပ်ရန် array_diff_ey () ကို သုံးနိုင်သည်။
ပြောင်းလဲခြင်း, အရာဝတ်ထု၏ဂုဏ်သတ္တိများသည်သင်၏လိုအပ်ချက်များကိုအထူးသဖြင့်ပုဂ္ဂလိကပိုင်သို့မဟုတ်ကာကွယ်ထားသည့်ဂုဏ်သတ္တိများပါ 0 င်သည်။
ဤနည်းအားဖြင့်သင်သည် array_diff_ey () ကို သုံး. အရာဝတ်ထုများနှင့် array များအကြားကွဲပြားခြားနားမှုများကိုလွယ်ကူစွာကိုင်တွယ်နိုင်သည်။ ဒီဆောင်းပါးကသင့်ကိုကူညီလိမ့်မယ်လို့မျှော်လင့်ပါတယ်။