လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ကိန်းနှင့်ကြိုးများကဲ့သို့ array တွင်သော့ချက်အမည်များနှင့်မည်သို့ကိုင်တွယ်ရမည်နည်း

ကိန်းနှင့်ကြိုးများကဲ့သို့ array တွင်သော့ချက်အမည်များနှင့်မည်သို့ကိုင်တွယ်ရမည်နည်း

M66 2025-05-15

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

1 ။ array_diff_Usassoc function ကိုမိတ်ဆက်

PHP ၏ Array_diff_Usassoc () function သည်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောခင်းကျင်းမှုများကိုနှိုင်းယှဉ်ရန်နှင့်၎င်းတို့အကြားကွဲပြားခြားနားမှုများကိုပြန်လည်ရယူနိုင်သည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည် Array တန်ဖိုးများကို အခြေခံ. နှိုင်းယှဉ်ရုံသာမက developer များသည်လည်း array key names များကိုနှိုင်းယှဉ်ထားသည့်လုပ်ငန်းများကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။

function ရှေ့ပြေးပုံစံ:

 array_diff_uassoc(array $array1, array $array2, callable $key_compare_func): array
  • $ array1 : နှိုင်းယှဉ်ခံရဖို့ပထမ ဦး ဆုံးခင်းကျင်း။

  • $ array2 : နှိုင်းယှဉ်ခံရဖို့လိုအပ်တဲ့ဒုတိယ array ။

  • $ key_compare_funct : Custom Key Name နှိုင်းယှဉ်မှုအတွက် callback function ကို။

ဒီ function က $ array2 မှာမပေါ်ပါဘူး $ array1 ရှိ earry1 အတွက် elements ပါဝင်သော array အသစ်တစ်ခုကိုပြန်ပို့လိမ့်မည်။ ဤလုပ်ဆောင်မှုသည်ခင်းကျင်းမှု၏တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကခင်းကျင်း၏သော့များကိုလည်းနှိုင်းယှဉ်သင့်သည်။

2 ။ သော့နာမည်ကိန်းနှင့် string ကိုအကြားခြားနားချက်

PHP တွင်ခင်းကျင်းခြင်း၏သော့များသည်ကိန်းဂဏန်းများဖြစ်ပြီးသော့များသည်ကြိုးများဖြစ်သည်။ ဥပမာအားဖြင့်, Key 0 နှင့် Key '0' ကြည့်ရှုပါ, PHP ကသူတို့ကိုကွဲပြားခြားနားသောသော့များဟုယူမှတ်လိမ့်မည်။ ဂဏန်းသော့များနှင့် strings keys များနှင့်နှိုင်းယှဉ်မှုများအတွက် array_diff_UAAssoc () သည် ဤခြားနားချက်ကိုပိုမိုထိန်းချုပ်ရန်ကူညီနိုင်သည်။

နမူနာကုဒ်:

ကျွန်ုပ်တို့တွင်အောက်ပါ array နှစ်ခုရှိသည်ဆိုပါစို့။

 $array1 = [
    0 => 'apple',
    '1' => 'banana',
    'orange' => 'orange'
];

$array2 = [
    0 => 'apple',
    1 => 'banana',
    'orange' => 'orange'
];

ဤဥပမာတွင် ဒေါ်လာ array1 နှင့် $ array2 တွင်တူညီသောတန်ဖိုးနှစ်ခု ('Apple' နှင့် 'ငှက်ပျော') ရှိသည်။ $ array1 တွင် '1' သော့သည် string တစ်ခုဖြစ်ပြီး ဒေါ်လာ 1 array2 တွင်သော့ချက် 1 သည်ကိန်းတစ်ခုဖြစ်သည်။

3 ။ သော့နာမည်ကွဲပြားခြားနားမှုများကိုဖြေရှင်းရန် Array_Diff_UAAST ကို သုံးပါ

PHP သည်ဤမျှရှိရာများ၏သော့ချက်များကိုကျွန်ုပ်တို့၏လိုအပ်ချက်များနှင့်အညီနှိုင်းယှဉ်ရန်အတွက်သင်စိတ်ကြိုက်သော့ချက်အမည်နှိုင်းယှဉ်မှု function ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ကိန်းဂဏန်းများနှင့် strings သော့များကိုလည်းထပ်တူစဉ်းစားစေလိုပါက၎င်းတို့ကိုနှိုင်းယှဉ်ရန်ဘာသာယူနီဖောင်းသို့ပြောင်းလဲစေသောနှိုင်းယှဉ်ခြင်း function ကိုဖန်တီးနိုင်သည်။

Custom Key Name နှိုင်းယှဉ်မှု function ကို

သော့ချက်များကို string thing two များအဖြစ်ပြောင်းလဲရန်အတွက်ရိုးရှင်းသော callback function ကိုသုံးနိုင်သည်။ ထို့နောက်နှိုင်းယှဉ်နိုင်သည်။

 function key_compare_func($a, $b) {
    return strcmp((string)$a, (string)$b);
}

array_diff_UAAST ကိုအသုံးပြုပြီး နှိုင်းယှဉ်အစီအစဉ်များ

ယခုတွင်ကျွန်ုပ်တို့သည် array_diff_UAST_UAASTIOR () () ကို သုံး. ၎င်းတို့အကြားကွဲပြားခြားနားမှုများကိုကြည့်ရှုရန်။

 <?php
$array1 = [
    0 => 'apple',
    '1' => 'banana',
    'orange' => 'orange'
];

$array2 = [
    0 => 'apple',
    1 => 'banana',
    'orange' => 'orange'
];

function key_compare_func($a, $b) {
    return strcmp((string)$a, (string)$b);
}

$result = array_diff_uassoc($array1, $array2, 'key_compare_func');

print_r($result);
?>

ရလဒ်များကိုခွဲခြမ်းစိတ်ဖြာခြင်း

အထက်ပါကုဒ်ကိုကွပ်မျက်ပြီးနောက် $ ရလဒ် က output:

 Array
(
    [orange] => orange
)

သင်မြင်နိုင်သည့်အတိုင်း ဒေါ်လာ array1 နှင့် $ array2 သည် အဓိကအမျိုးအစားများ (string vs. ကိန်းဂဏန်းများ) ကွဲပြားသော်လည်း PHP သည်၎င်းတို့အား array_diff_Usoc () function မှတဆင့်တူညီသောသော့ချက်အဖြစ်နှင့်နှိုင်းယှဉ်နိုင်သည်။ နောက်ဆုံးရလဒ်သည် သော့ချက်သော့ နှင့်သက်ဆိုင်သောတန်ဖိုးကိုရရှိစေသည်။

4 ။ အကျဉ်းချုပ်

ကိန်းနှင့်ကြိုးများအ နေ ဖြင့်အဓိကအကြောင်းရင်းများအကြားခြားနားချက်သည် PHP Arrays နှင့်အလုပ်လုပ်သောအခါရှုပ်ထွေးမှုများကိုဖြစ်ပေါ်စေနိုင်သည်။ ဤလုပ်ဆောင်မှုကိုအသုံးချခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပရိုဂရမ်များသည်မျှော်လင့်ထားသည့်အတိုင်းခင်းကျင်းသောလုပ်ငန်းများလုပ်ဆောင်နိုင်ရန်အတွက်ခင်းကျင်းသောသော့ချက်အမည်များ၏နှိုင်းယှဉ်ခြင်းအပြုအမူကိုတိကျစွာထိန်းချုပ်နိုင်သည်။

array_diff_Usassoc ()) ကို အသုံးပြုခြင်းအားဖြင့်, အထူးသဖြင့်အမှားအယွင်းများကိုထိရောက်စွာရှောင်ရှားနိုင်သည့်ရှေ့နောက်မညီသောခင်းကျင်းသောသော့ချက်အမည်အမျိုးအစားများနှင့် ပတ်သက်. သင်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ခင်းကျင်းမှုကွဲပြားမှုနှိုင်းယှဉ်မှုများပြုလုပ်နိုင်သည်။