လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_change_key_key_case () ဂဏန်းသော့များကိုကိုင်တွယ်နိုင်ပါသလား။

array_change_key_key_case () ဂဏန်းသော့များကိုကိုင်တွယ်နိုင်ပါသလား။

M66 2025-05-12

PHP တွင်, ပြင်ဆင်မှုများပြုလုပ်သောအခါအဓိကကိစ္စပြောင်းလဲခြင်းလိုအပ်ကြောင်း, အထူးသဖြင့်ပြင်ပအရင်းအမြစ်များမှရရှိသောအပေါင်းအသင်းများ, Array_change_key_Key_case_case () သည် array key names ၏အမှုအားပေါင်းစည်းရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ သို့သော်မကြာခဏဆိုသလိုလျစ်လျူရှုခဲ့သော်လည်းအတော်လေးအရေးကြီးသောပြ issue နာဖြစ်သည်။

array_change_key_key_case_case () array ရှိ "ဂဏန်းသော့များ" ကိုပြောင်းလဲစေပါသလား။

အဖြေမှာ - မဟုတ်ပါ။

တရားဝင်စာရွက်စာတမ်းများရှင်းလင်းချက်

တရားဝင် PHP စာရွက်စာတမ်းများ အရ Array_change_Key_case_case () ၏အခန်းကဏ် is သည် -

သော့များကိုစာလုံးအကြီးသို့မဟုတ်စာလုံးအသေးများသို့ပြောင်းလဲခြင်းကိုပေးထားသည်။

သို့သော်၎င်းသည် String အမျိုးအစားသော့များနှင့်သာသက်ဆိုင်သည်။ ကိန်းဂဏန်းများအတွက် function သည်မည်သည့်ပြုပြင်မဆိုပြုပြင်မွမ်းမံခြင်းမရှိသေးပါ။

ဖော်ပြချက်

ဤတွင်၎င်း၏အမှန်တကယ်အပြုအမူကိုသရုပ်ပြရန်ဥပမာတစ်ခုဖြစ်သည်။

 <?php
$data = [
    "Name" => "Alice",
    "EMAIL" => "alice@example.com",
    100 => "နံပါတ်စဥ်",
    "AGE" => 30
];

$result = array_change_key_case($data, CASE_LOWER);

print_r($result);
?>

ရလဒ်ရလဒ် -

 Array
(
    [name] => Alice
    [email] => alice@example.com
    [100] => နံပါတ်စဥ်
    [age] => 30
)

သင်မြင်နိုင်သည် -

  • String ခလုတ် များအားလုံး ( "အမည်" , "email" , "age", "အသက်" ),

  • ဂဏန်း 100 သည် မပြောင်းလဲဘဲ string တစ်ခုမဟုတ်,

အဘယ်ကြောင့်နံပါတ်သော့မပြောင်းလဲကြဘူး?

ဘာဖြစ်လို့လဲဆိုတော့ PHP မှာကိန်းဂဏန်းတွေကစာလုံးအသေးတွေပါ။ PHP ရှိခင်းကျင်းမှု၏သော့များသည်ကြိုးသို့မဟုတ်ကိန်း (ပေါင်းစပ်မှု) ဖြစ်နိုင်သည်။ နှင့်အမှုပြောင်းလဲခြင်းမရှိမဖြစ်လိုအပ်တဲ့ strings များအတွက်သာတရားဝင်ဖြစ်ပါတယ်။ ထို့ကြောင့် array_change_key_key_case () သည် သော့ချက်များရှိသောဒြပ်စင်များကိုသာပြုလုပ်လိမ့်မည်။

လက်တွေ့ကျသော application တစ်ခု၏ဥပမာများ

API တောင်းဆိုမှုများမှတစ်ဆင့် Array Data သတ်မှတ်ချက်ကိုသင်ပြန်ပို့ပြီးသော့အမည်များကိုတူညီစွာလုပ်ဆောင်လိုပါကဤ function ကိုသုံးနိုင်သည်။ သို့သော်လုပ်ငန်းစဉ်အတွင်း, သင်ကိန်းဂဏန်းအညွှန်းကိန်း၏သော့များကိုမှားယွင်းစွာပြောင်းလဲခြင်းသို့မဟုတ်ပြောင်းလဲခြင်းသို့ပြောင်းလဲခြင်းကိုစိုးရိမ်ရန်မလိုအပ်ပါ။ ဥပမာအားဖြင့်:

 <?php
$json = '{
    "UserID": 101,
    "Username": "bob",
    "Scores": {
        "0": 90,
        "1": 85,
        "2": 88
    }
}';

$data = json_decode($json, true);
$data = array_change_key_case($data, CASE_LOWER);

// ထုတ်လုပ်ခြင်း JSON ရှေ့အဆုံးမှဖွဲ့စည်းပုံ
echo json_encode($data);
?>

ရှေ့ဆုံးအဆုံးသည်အချက်အလက်များကို အသုံးပြု . ဒေတာ များကို အသုံးပြု. မရပါ။

အကယ်. သင်ကခင်းကျင်းမှုတွင်အသိုက်ဖွဲ့စည်းပုံကိုထပ်မံပြုလုပ်ရန်လိုအပ်ပါက (ဤသို့သောအမည်များကိုအဆင့်သတ်မှတ်ချက်အားလုံးကိုစာလုံးအသေးများထဲသို့ထည့်ခြင်း) ကိုသင် adapsive function တစ်ခုကို oncapsulate လုပ်နိုင်သည်။ သို့သော်နံပါတ်သော့များကိုသင်စိတ်ပူစရာမလိုပါ။

 function array_change_key_case_recursive($arr, $case = CASE_LOWER) {
    return array_map(function ($item) use ($case) {
        if (is_array($item)) {
            return array_change_key_case_recursive($item, $case);
        }
        return $item;
    }, array_change_key_case($arr, $case));
}

အကျဉ်းချုပ်

  • ? array_change_key_key_case () သည် string keys များအတွက်သာတရားဝင်သည်။

  • ? ဒါဟာခင်းကျင်းထဲမှာ ဂဏန်းသော့တွေကို ပြုပြင်မွမ်းမံ လိမ့်မည်မဟုတ်ပါ ;

  • ?? နံပါတ်သော့များသည် PHP တွင်တင်းကြပ်စွာကိန်းဂဏန်းများဖြစ်ပြီးစာလုံးအကြီးနှင့်အသေးအကြီးများသီအိုရီမရှိပါ။

  • ?? သငျသညျအသိုက် in ရာဝတီကိုပြန်လည်ဖွဲ့စည်းရန်လိုအပ်ပါက string keys ကို process လုပ်ဖို့ recursive function ကိုကိုယ်တိုင် encapsatate လုပ်ဖို့လိုအပ်ပါတယ်။

ဤနည်းအားဖြင့်သင်သည် array_change_key_Key_case_case () ကို စိတ်ငြိမ်သက်မှုမရှိဘဲမှားယွင်းစွာလုပ်ဆောင်နေသည့်နံပါတ်များကိုစိတ်မပူပါနဲ့။