PHP Development တွင် array_change_key_Key_case () သည်အလွန်အဆင်ပြေသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဒါပေမယ့်မင်းသိလား
ဒီပြ problem နာကိုဘယ်လိုတွေ့ရမယ်ဆိုတာကိုကြည့်ဖို့တိကျတဲ့ဥပမာတစ်ခုယူကြပါစို့။
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ array : input array ။
$ အမှု - optional parameter, default case_lower (စာလုံးအသေး) သို့မဟုတ် case_upper (စာလုံးအကြီး) ကိုသတ်မှတ်နိုင်သည်။
$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' နှစ်ခုစလုံးသည်စာလုံးအသေးများသို့ပြောင်းလဲပြီးနောက်တွင် ' အမည်' ဖြစ်လာသည် ။
array_change_key_key_case () သည် "အမှုအမျိုးမျိုးရှိသော်လည်းအမှန်တကယ်တူညီသော" သော့ချက်အမည်ရှိသည်ကိုမသိရှိပါက၎င်းသည် ရိုးရှင်းစွာနှင့်အနိမ့်အကြီးများဖြင့်သော့ကိုအစားထိုးသည် ။ ပ conflict ိပက်ခတစ်ခုဖြစ်ပြီးနောက်ကွယ်တွင်သော့များသည်ရှေ့သော့များကိုထပ်ခါတလဲလဲရေးသားလိမ့်မည်။
အရင်းအမြစ်မျိုးစုံမှအချက်အလက်များကိုလုပ်ဆောင်သောအခါ၎င်းသည်အထူးသဖြင့်အန္တရာယ်ရှိသည်။ ဥပမာအားဖြင့်, သင်သည်ပေါင်းစည်းခြင်းသို့မဟုတ် API ပေါင်းစည်းနေသည့်အခါ,
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);
}
အကယ်. သင်သည် External data များပြုလုပ်နေပါက API မှတဆင့်ဆွဲထုတ်ခြင်းကဲ့သို့သောအကြောင်းအရာများဖြစ်သောအကြောင်းအရာများကိုပေါင်းစည်းခြင်းမပြုမီဒေတာများကိုစံသတ်မှတ်နိုင်သည်။
$apiData = json_decode(file_get_contents('https://m66.net/api/user'), true);
// အရင်းအမြစ်ကိုယူဆသည်ယုံကြည်စိတ်ချရသောဖြစ်ပါတယ်,တစ် ဦး စည်းလုံးအနိမ့်အမှု၌၎င်းကိုသုံးပါ
$safeData = array_change_key_case($apiData, CASE_LOWER);
Array_change_Key_Key_case () သည်ရိုးရှင်းသောနှင့်လက်တွေ့လုပ်ဆောင်မှုဖြစ်သော်လည်း၎င်း၏ အဖျက်စွမ်းအားကို လျစ်လျူရှုမရနိုင်ပါ။ သင်ပြုပြင်သည့်ဒေတာများတွင်သော့ချက်အမည်များပုံတူပွားမှုရှိနိုင်သည့်အခါ၎င်းကိုမပြုလုပ်မီနှစ်ကြိမ်စဉ်းစားရန်သေချာပါစေ။
ပုံမှန်အပြုအမူသည်ပ conflicts ိပက်ခများကိုမတောင်းပါ။
ဒေတာများကိုထပ်ခါတလဲလဲ overwrite လုပ်နိုင်သည်။
ဒေတာပေါင်းစည်းမှုအခြေအနေများပိုမိုများလေလေသူတို့ကိုသင်အသုံးပြုရန်ပိုမိုသတိထားလေဖြစ်သည်။