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 () သည် သော့ချက်များရှိသောဒြပ်စင်များကိုသာပြုလုပ်လိမ့်မည်။
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 () ကို စိတ်ငြိမ်သက်မှုမရှိဘဲမှားယွင်းစွာလုပ်ဆောင်နေသည့်နံပါတ်များကိုစိတ်မပူပါနဲ့။