PHP တွင် array ၏အဓိကအမည်များသည်အချက်အလက်များကိုလုပ်ဆောင်သောအခါအထူးသဖြင့် JSON ဒေတာသို့မဟုတ် apis မှအချက်အလက်များကိုလုပ်ဆောင်သည့်အခါအချက်အလက်များမကိုက်ညီပါ။ အဓိကအမည်များပုံစံကိုပေါင်းစည်းနိုင်ရန်အတွက် array_change_key_key_key_case () function ကိုသုံးနိုင်သည်။
ကျွန်ုပ်တို့သည်အသိုက် Array များသို့မဟုတ်အရာဝတ်ထုများကိုကိုင်တွယ်သောအခါ array_change_key_key_case_case () တွင်သာမှီခိုခြင်းမရှိပါ။ ဤအချိန်တွင်ကျွန်ုပ်တို့သည် JSONS_CETDode () နှင့် JSON_Decode () နှင့် JSON_Decode () ကိုသုံးနိုင်သည်။ ဤဆောင်းပါးသည် array key names ၏စည်းလုံးညီညွတ်မှုပြောင်းလဲခြင်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသရန်ရိုးရှင်းသောဥပမာကိုအသုံးပြုလိမ့်မည်။
ဤလုပ်ဆောင်ချက်သည်သော့ချက်အမည်များအားလုံးကို array တစ်ခုတွင် array သို့ပြောင်းလဲနိုင်သည်။
array_change_key_case(array $array, int $case = CASE_LOWER): array
Parameter $ အမှုအား သတ်မှတ်နိုင်သည် -
Case_Lower (Default): စာလုံးအသေးပြောင်းပါ
Case_upper : စာလုံးအကြီးသို့ပြောင်းပါ
ဤလုပ်ဆောင်ချက်နှစ်ခုသည် PHP Array နှင့် Jss ဆင်တပ်များအားတစ် ဦး နှင့်တစ် ဦး အပြန်အလှန်အားဖြင့်ပြောင်းလဲနိုင်သည်။ JSON သို့ဒေတာထဲသို့အချက်အလက်များကို encoding ပြီးနောက်၎င်းကို Array ထဲသို့ decoding လုပ်ခြင်းသည်အလွန်နက်နက်ရှိုင်းရှိုင်းခွဲစိတ်ကုသမှုအတွက်အထူးသဖြင့်သော့ချက်အမည်များကိုပြန်လည်ပြုပြင်ခြင်းကိုခွင့်ပြုသည်။
ကျွန်ုပ်တို့သည် interface မှအောက်ပါအချက်အလက်များကို https://api.m66.net/user/profile မှဖြစ်သည်ဆိုပါစို့။
$data = [
"UserID" => 123,
"UserName" => "Alice",
"ContactInfo" => [
"Email" => "alice@m66.net",
"Phone" => "1234567890"
]
];
ကျွန်ုပ်တို့သည် (အသိုက်အပါအ 0 င်) အမည်များအားလုံး (အသိုက်အပါအ 0 င်) ကိုတစ်ပုံစံတည်းအနေဖြင့်ပြောင်းလဲလိုပြီးအောက်ပါအတိုင်းဖြေရှင်းနည်းမှာ -
function array_change_key_case_recursive(array $arr, int $case = CASE_LOWER): array {
$result = [];
foreach ($arr as $key => $value) {
$key = ($case === CASE_UPPER) ? strtoupper($key) : strtolower($key);
if (is_array($value)) {
$result[$key] = array_change_key_case_recursive($value, $case);
} else {
$result[$key] = $value;
}
}
return $result;
}
// နမူနာဒေတာ
$data = [
"UserID" => 123,
"UserName" => "Alice",
"ContactInfo" => [
"Email" => "alice@m66.net",
"Phone" => "1234567890"
]
];
// စာလုံးအသေးအမည်ကိုပြောင်းပါ
$lowercased = array_change_key_case_recursive($data, CASE_LOWER);
echo json_encode($lowercased, JSON_PRETTY_PRINT);
output ရလဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
{
"userid": 123,
"username": "Alice",
"contactinfo": {
"email": "alice@m66.net",
"phone": "1234567890"
}
}
သင်မေးနိုင်သည် - အဘယ်ကြောင့် array_change_key_key_case () ကို တိုက်ရိုက်မသုံးပါ။ အဓိကအကြောင်းရင်းမှာ အသိုက် arrays များကိုပြန်လည်ဖွဲ့စည်းခြင်းမပြုနိုင်ခြင်းဖြစ်သည် ။ JSONS_CETDode () နှင့် JSONS_Decode () မှတဆင့်, အရာဝတ်ထုများကို array formats သို့ပြောင်းလဲနိုင်သည်, ထို့နောက်အလွှာတစ်ခုစီ၏အဓိကအကြောင်းများကိုပြန်လည်ထုတ်ယူနိုင်ပါသည်။
ဥပမာအားဖြင့်, https://api.m66.net/detfo မှကျွန်ုပ်တို့ရရှိသောအရာသည်အရာဝတ်ထုဖွဲ့စည်းပုံမှာအောက်ပါနည်းလမ်းကို အသုံးပြု. ပြောင်းလဲ. ပြုပြင်နိုင်သည်။
$json = '{
"UserID": 456,
"UserProfile": {
"FullName": "Bob",
"Contact": {
"Email": "bob@m66.net"
}
}
}';
$array = json_decode($json, true); // တစ်ခုခင်းကျင်းဖို့ပြောင်းပါ
$normalized = array_change_key_case_recursive($array, CASE_LOWER);
echo json_encode($normalized, JSON_PRETTY_PRINT);
array_change_key_Key_case_case () ကို JSONS_COCDED () နှင့် JSONS_Decode () ကို အသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပေါင်းစည်းညီညွတ်သောအသိုက်ပြား incray key names များကို unied array connes names များကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဤချဉ်းကပ်မှုသည် API အချက်အလက်များ, ပြင်ဆင်မှုပစ္စည်းများသို့မဟုတ်ကြီးမားသောဒေတာအဆောက်အအုံများကိုလုပ်ဆောင်သောအခါအထူးသဖြင့်လက်တွေ့ကျသည်။
အကယ်. သော့အမည်ပြောင်းခြင်းသို့မဟုတ်ပေါင်းစည်းခြင်းပုံစံကိုကိုင်တွယ်ရန်လိုအပ်ပါကသင်၏ PHP Toolbox သို့ဤလှည့်ကွက်ကိုသင်ထည့်နိုင်သည်။