လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_change_key_key_case () ၏အလွဲသုံးစားမှုသည်သော့ချက်အမည်ဒေတာဆုံးရှုံးမှုကိုဖြစ်ပေါ်စေသည်

array_change_key_key_case () ၏အလွဲသုံးစားမှုသည်သော့ချက်အမည်ဒေတာဆုံးရှုံးမှုကိုဖြစ်ပေါ်စေသည်

M66 2025-04-28

PHP Development တွင် array_change_key_Key_case () သည်အလွန်အဆင်ပြေသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဒါပေမယ့်မင်းသိလား

ဒီပြ problem နာကိုဘယ်လိုတွေ့ရမယ်ဆိုတာကိုကြည့်ဖို့တိကျတဲ့ဥပမာတစ်ခုယူကြပါစို့။

1 ။ နိဒါန်း

 array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $ array : input array ။

  • $ အမှု - optional parameter, default case_lower (စာလုံးအသေး) သို့မဟုတ် case_upper (စာလုံးအကြီး) ကိုသတ်မှတ်နိုင်သည်။

2 ။ အန္တရာယ်ရှိသောဥပမာ - အဓိကအမည်အရပ conflict ိပက်ခသည်ဒေတာဆုံးရှုံးမှုဖြစ်စေသည်

 $data = [
    'Name' => 'Alice',
    'name' => 'Bob',
    'Age'  => 25,
];

$result = array_change_key_case($data, CASE_LOWER);

print_r($result);

ရလဒ်ရလဒ် -

 Array
(
    [name] => Bob
    [age] => 25
)

မင်းမြင်ဖူးလား 'NOME' => 'အဲလစ်' ပျောက်သွားပြီ။
ဘာဖြစ်လို့လဲဆိုတော့ 'NAME' နှင့် 'NAME' နှစ်ခုစလုံးသည်စာလုံးအသေးများသို့ပြောင်းလဲပြီးနောက်တွင် ' အမည်' ဖြစ်လာသည်

3 ။ ဘာကြောင့်ဒီလိုဖြစ်ရတာလဲ

array_change_key_key_case () သည် "အမှုအမျိုးမျိုးရှိသော်လည်းအမှန်တကယ်တူညီသော" သော့ချက်အမည်ရှိသည်ကိုမသိရှိပါက၎င်းသည် ရိုးရှင်းစွာနှင့်အနိမ့်အကြီးများဖြင့်သော့ကိုအစားထိုးသည် ။ ပ conflict ိပက်ခတစ်ခုဖြစ်ပြီးနောက်ကွယ်တွင်သော့များသည်ရှေ့သော့များကိုထပ်ခါတလဲလဲရေးသားလိမ့်မည်။

အရင်းအမြစ်မျိုးစုံမှအချက်အလက်များကိုလုပ်ဆောင်သောအခါ၎င်းသည်အထူးသဖြင့်အန္တရာယ်ရှိသည်။ ဥပမာအားဖြင့်, သင်သည်ပေါင်းစည်းခြင်းသို့မဟုတ် API ပေါင်းစည်းနေသည့်အခါ,

4 ။ ဒီတွင်းကိုဘယ်လိုရှောင်ရမလဲ။

? နည်းလမ်း 1 - ကိုယ်တိုင်ကိုယ်ကျပ conflicts ိပက်ခများကိုစစ်ဆေးပါ

array_change_key_key_case_case () ကိုမခေါ်မီမူရင်းခင်းကျင်းမှုတွင်အဓိကအမည်ပ conflict ိပက်ခရှိ,

 function hasKeyCaseConflict(array $array): bool {
    $lowerKeys = [];
    foreach ($array as $key => $value) {
        $lower = strtolower($key);
        if (isset($lowerKeys[$lower])) {
            return true;
        }
        $lowerKeys[$lower] = true;
    }
    return false;
}

$data = [
    'Name' => 'Alice',
    'name' => 'Bob',
];

if (hasKeyCaseConflict($data)) {
    echo "အဓိကအမည်များအကြားကိစ္စရပ်ပ conflict ိပက်ခရှိသည်,ပြောင်းလဲခြင်းမပြုမီ၎င်းကိုလုပ်ဆောင်ပါ。";
} else {
    $result = array_change_key_case($data);
    print_r($result);
}

? နည်းလမ်း 2 - ပေါင်းစည်းခြင်းမပြုမီအရင်းအမြစ်အချက်အလက်များကိုစံသတ်မှတ်ချက်စံနှုန်းများ

အကယ်. သင်သည် External data များပြုလုပ်နေပါက API မှတဆင့်ဆွဲထုတ်ခြင်းကဲ့သို့သောအကြောင်းအရာများဖြစ်သောအကြောင်းအရာများကိုပေါင်းစည်းခြင်းမပြုမီဒေတာများကိုစံသတ်မှတ်နိုင်သည်။

 $apiData = json_decode(file_get_contents('https://m66.net/api/user'), true);

// အရင်းအမြစ်ကိုယူဆသည်ယုံကြည်စိတ်ချရသောဖြစ်ပါတယ်,တစ် ဦး စည်းလုံးအနိမ့်အမှု၌၎င်းကိုသုံးပါ
$safeData = array_change_key_case($apiData, CASE_LOWER);

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

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

?? သိကောင်းစရာများ:

  • ပုံမှန်အပြုအမူသည်ပ conflicts ိပက်ခများကိုမတောင်းပါ။

  • ဒေတာများကိုထပ်ခါတလဲလဲ overwrite လုပ်နိုင်သည်။

  • ဒေတာပေါင်းစည်းမှုအခြေအနေများပိုမိုများလေလေသူတို့ကိုသင်အသုံးပြုရန်ပိုမိုသတိထားလေဖြစ်သည်။