လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Arraiff_Key () ၏အပြုအမူသည်ခင်းကျင်းသောခလုတ်သည် string တစ်ခုသို့မဟုတ်တစ်ခုကိန်းတစ်ခုမဟုတ်ပါ

Arraiff_Key () ၏အပြုအမူသည်ခင်းကျင်းသောခလုတ်သည် string တစ်ခုသို့မဟုတ်တစ်ခုကိန်းတစ်ခုမဟုတ်ပါ

M66 2025-05-15

PHP တွင် array_diff_ey () function ကို အသုံးပြု. နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော array များအကြားအဓိကကွဲပြားခြားနားမှုများကိုတွက်ချက်ရန်အသုံးပြုသည်။ အခြားခင်းကျင်းမှုတွင်တည်ရှိနေသောပထမ ဦး ဆုံးခင်းကျင်းမှုရှိသော့များအကြားကွဲပြားခြားနားမှုများပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ အကယ်. Array နှစ်ခုစလုံးတွင်သော့များသည်အတူတူပင်ဖြစ်သည်ဆိုပါကရလဒ်သည်အချည်းနှီးသောခင်းကျင်းမှုတစ်ခုဖြစ်သည်။

 <?php
$array1 = [
    'apple' => 'fruit',
    'carrot' => 'vegetable',
    'pear' => 'fruit'
];

$array2 = [
    'apple' => 'fruit',
    'carrot' => 'vegetable'
];

$result = array_diff_key($array1, $array2);
print_r($result);
?>

ထုတ်လုပ်မှု -

 Array
(
    [pear] => fruit
)

ဤကုဒ်သည် array_diff_key () function မှ inarraiff_key () function မှသော့ချက်များအကြားခြားနားချက်ကိုမည်သို့တွက်ချက်ရမည်ကိုပြသသည်။ ဤဥပမာတွင် ပုလဲသည် ဒေါ်လာ array 1 တွင်သာပေါ်လာသည်။

သော့တစ်ခု၏ပေါ်လွင်မှုသည် string မဟုတ်သလိုကိန်းဂဏန်းလည်းမဟုတ်ပါ

ပိုမိုအထူးအခြေအနေကိုထပ်မံလေ့လာကြည့်ရအောင်။ array_diff_key () ခင်းကျင်းခြင်း၏သော့များသည်ကြိုးကြိုးများမဟုတ်သလိုကိန်းများမဟုတ်ဘဲပြုမူမည်နည်း။ PHP တွင် array ၏သော့များသည်ကိန်းဂဏန်းများ, ကြိုးများ, သို့သော် PHP သည်အချို့သောဒေတာအမျိုးအစားများကို string သို့မဟုတ် integer type များကို array keys အဖြစ်ပြောင်းလဲပေးသည်။ ထို့ကြောင့်ခင်းကျင်းခြင်း၏သော့များသည်ကြိုးကြိုးများမဟုတ်ဘဲကြိုးများမဟုတ်သလိုကိန်းဂဏန်းများဖြစ်သည်။

အောက်ပါကုဒ်ကိုသုံးသပ်ကြည့်ပါ။

 <?php
$array1 = [
    new DateTime() => 'time object',
    3.14159 => 'pi',
    true => 'boolean'
];

$array2 = [
    '2025-04-18 10:00:00' => 'time object',
    3 => 'pi',
    '1' => 'boolean'
];

$result = array_diff_key($array1, $array2);
print_r($result);
?>

ဤဥပမာတွင် ဒေါ်လာ array1 သည် ကွဲပြားခြားနားသောသော့အမျိုးအစားများကိုအသုံးပြုသည် $ array2 သည် string ကို '2025-04-18 10:00:00' , ကိန်း 3 နှင့် string ကို '1' ​​'Trring' 1 ' ကိုအသုံးပြုသည်။ array_diff_key () သည် ဤသော့များကိုကိုင်တွယ်လိမ့်မည်ကိုလေ့လာကြည့်ကြစို့။

PHP သည် array keys များ, non-integer နှင့် string မဟုတ်သောသော့များကိုရိုက်ထည့်သောအခါ PHP ကိုရိုက်ထည့်သည်။ အထူးသဖြင့်:

  • datetime အရာဝတ်ထုသည်၎င်း၏ string ကိုကိုယ်စားပြုမှု ( DateTime :: __ thtring) ) သို့ကူးပြောင်းသည်။

  • Floating Point နံပါတ် 3.14159 ကို string ကို "3.14159" သို့ကူးပြောင်းလိမ့်မည်။

  • Boolean True Value ကို string ကို "1" သို့ကူးပြောင်းလိမ့်မည်။

ထို့ကြောင့် array_diff_ey () ကို ဤသော့များကိုပြုပြင်သည့်အခါမူရင်းသော့များနှင့်နှိုင်းယှဉ်နိုင်သည်။

နိဂုံးချုပ်အားဖြင့်

array_diff_key () သည် အဓိကအမျိုးအစားပြောင်းလဲခြင်းစည်းမျဉ်းများအရနှိုင်းယှဉ်ပါလိမ့်မည်။ Array ၏သော့များသည်ကြိုးကြိုးများမဟုတ်သလိုကိန်းများမဟုတ်လျှင် PHP သည်ဤသော့များကိုကြိုးကြိုးများသို့မဟုတ်ကိန်းဂဏန်းများသို့အလိုအလျောက်ပြောင်းလဲပြီးဤပြောင်းလဲထားသောတန်ဖိုးများအပေါ် အခြေခံ. ၎င်းတို့ကိုနှိုင်းယှဉ်ပါလိမ့်မည်။ အထူးသဖြင့်အရာဝတ်ထုများသို့မဟုတ် booleans အချို့အထူးဒေတာအမျိုးအစားများအတွက်ရှားပါးသောရလဒ်များဖြစ်နိုင်သည်။ ထို့ကြောင့် array_diff_key () ကိုအသုံးပြုသောအခါ array ၏သော့များသည်မမျှော်လင့်သောအမျိုးအစားပြောင်းလဲခြင်းကိုရှောင်ရှားရန်ခင်းကျင်းမှု၏သော့များသည်ကြိုးများသို့မဟုတ်ကိန်းများဖြစ်ကြောင်းသေချာစေရန်အကောင်းဆုံးဖြစ်သည်။