PHP တွင် Array_change_key_Key_case () သည်အများအားဖြင့်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ သို့သော်ကြီးမားသော array ကြီးမားသောနှင့်ကိုင်တွယ်ရန်လိုအပ်သည့်အခါဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်းသည်အရေးပါသောမှတ်ဉာဏ်သုံးစွဲမှုကိုပြုလုပ်နိုင်သည်။ သင်ပိုမိုကောင်းမွန်သောအာရုံကိုမဂရုပြုပါကမှတ်ဉာဏ်အသုံးပြုမှုပြ the နာကိုသင်ကြုံတွေ့ရနိုင်သည်။ ဤဆောင်းပါးသည်မှတ်ဥာဏ်အသုံးပြုမှုကိုပိုမိုကောင်းမွန်စေရန်နည်းလမ်းအချို့ကိုလေ့လာလိမ့်မည်။
array_change_key_key_case () ၏ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ array : input array ။
$ အမှု - optional parameter သည်ပြောင်းလဲခြင်း, certion_lewer (default) ကိုစာလုံးအကြီးသို့ပြောင်းပါ။ စာလုံးအကြီးနှင့် Case_upper သည် စာလုံးအကြီးသို့ပြောင်းသည်။
array_change_key_key_case () သည် မူရင်းခင်းကျင်းမှု၏သော့အားလုံးပါ 0 င်သော array အသစ်တစ်ခုကိုဖန်တီးပြီးပြန်ပို့သည်။ ဒီတော့ Array ဟာကြီးမားတဲ့အခါမှာတော့မှတ်ဉာဏ်တွေအများကြီးတက်လိမ့်မယ်။ ဥပမာအားဖြင့်:
$array = ['A' => 1, 'B' => 2, 'C' => 3];
$modifiedArray = array_change_key_case($array, CASE_LOWER);
ဤဥပမာတွင် PHP သည်မှတ်ဉာဏ်နေရာအသစ်ကိုချွေတာရန်အတွက်မှတ်ဉာဏ်နေရာအသစ်ကိုချွေတာသည် ။ ကြီးမားသော arrays ကြီးများနှင့်ဆက်ဆံရာတွင်ဤအပိုဆောင်းမှတ်ဉာဏ် overhead သည်အထူးသဖြင့်ထင်ရှားသည်။
ကြီးမားသော array များကိုပြုပြင်သောအခါမှတ်ဉာဏ်ကိုသိမ်းဆည်းရန်အောက်ပါ optimization နည်းလမ်းများကိုအသုံးပြုနိုင်သည်။
မူရင်းခင်းကျင်းမှု၏သော့များကိုသင်သိမ်းဆည်းရန်မလိုအပ်ပါကခင်းကျင်းအသစ်တစ်ခုကိုဖန်တီးမည့်အစားခင်းကျင်းမှုကိုပြင်ဆင်နိုင်သည်။ မူရင်းခင်းကျင်းမှုကိုတိုက်ရိုက်ပြုပြင်ခြင်းအားဖြင့်မိတ္တူတစ်ခုတည်ဆောက်ခြင်းကိုမှတ်ဉာဏ်သုံးစွဲမှုကိုရှောင်ရှားနိုင်သည်။
$array = ['A' => 1, 'B' => 2, 'C' => 3];
// မူရင်းခင်းကျင်းကိုတိုက်ရိုက်ပြုပြင်ပါ
foreach ($array as $key => $value) {
$newKey = strtolower($key);
unset($array[$key]); // သော့အဟောင်းကိုဖျက်ပစ်ပါ
$array[$newKey] = $value; // သော့အသစ်တစ်ခုထည့်ပါ
}
ဤနည်းအားဖြင့်သင်သည်အပိုမှတ်ဥာဏ်စားသုံးမှုကိုရှောင်ကြဉ်ပါ။
Array_walk () element တစ်ခုစီတွင် array တစ်ခုစီတွင်လုပ်ဆောင်နိုင်သည်။ Array_walk () နှင့် string ပြောင်းလဲခြင်းလုပ်ဆောင်ချက်များကိုပေါင်းစပ်ပြီးကူးယူခြင်းမပြုဘဲခင်းကျင်းခြင်း၏သော့များကိုသင်ပြုပြင်နိုင်သည်။
$array = ['A' => 1, 'B' => 2, 'C' => 3];
array_walk($array, function(&$value, $key) {
$newKey = strtolower($key);
$value = ['key' => $newKey, 'value' => $value];
});
ဤနေရာတွင်သော့ချက်မှာမူရင်းခင်းကျင်းမှုတွင်ပြုပြင်ရန် array_walk () ကို သုံးရန်ဖြစ်သည်။ သတိပြုရန်မှာ array_walk () သည် array ၏ element တစ်ခုစီကိုကိုင်တွယ်ရန်နှင့်ဒြပ်စင်များ၏သော့နှင့်တန်ဖိုးများကိုညှိရန်သင့်အားသတိပြုပါ။
မီးစက်သည် PHP မှပေးသောစွမ်းဆောင်ရည်ရှိသောမှတ်ဉာဏ်စီမံခန့်ခွဲမှုနည်းလမ်းဖြစ်သည်။ ၎င်းသည်အချက်အလက်အမြောက်အများကိုပြုပြင်ရန်အတွက်သင့်တော်သည်။ တွက်ချက်မှုများကိုနှောင့်နှေးစေပြီးမှတ်ဉာဏ်ကိုသိမ်းဆည်းရန်မီးစက်ကိုသုံးနိုင်သည်။
function changeKeyCaseGenerator($array, $case = CASE_LOWER) {
foreach ($array as $key => $value) {
yield [($case === CASE_LOWER) ? strtolower($key) : strtoupper($key) => $value];
}
}
$array = ['A' => 1, 'B' => 2, 'C' => 3];
foreach (changeKeyCaseGenerator($array) as $newPair) {
print_r($newPair);
}
အဆိုပါမီးစက်သည်မှတ်ဥာဏ်များစွာမယူဘဲပစ္စည်းအားဖြင့် item item item ကိုလုပ်ဆောင်လိမ့်မည်။
အကယ်. သင်၏ပရိုဂရမ်သည်ကြီးမားသောခင်းကျင်းမှုများစွာကိုကိုင်တွယ်ရာတွင်မှတ်ဉာဏ်ကန့်သတ်ချက်များနှင့်ရင်ဆိုင်နေရပါက PHP ၏မှတ်ဉာဏ်ကန့်သတ်ချက်ကိုတိုးမြှင့်ရန်သင်စဉ်းစားနိုင်သည်။ PHP.INI ဖိုင်ကိုပြုပြင်ခြင်းသို့မဟုတ် ini_set () ကို အသုံးပြုခြင်းဖြင့်မှတ်ဉာဏ်အဖုံးကိုတိုးမြှင့်နိုင်သည်။
ini_set('memory_limit', '512M'); // မှတ်ဉာဏ်ကန့်သတ်တိုးမြှင့် 512MB
သို့သော်ဤချဉ်းကပ်မှုသည်အထူးသဖြင့်အဆင့်မြင့်အထွတ်အထိပ်ရှိအလွန်အကျွံမှတ်ဉာဏ်များသုံးစွဲမှုအလွန်အကျွံအသုံးပြုမှုဖြစ်စေနိုင်သည်။
အကယ်. သင်၏အစီအစဉ်သည်တူညီသောအချက်အလက်များကိုမကြာခဏလုပ်ဆောင်ရန်လိုအပ်ပါက cacheing ယန္တရားကိုအသုံးပြုပါ။ ပြောင်းလဲထားသော arrays များကိုသိမ်းဆည်းခြင်းအားဖြင့်ထပ်ခါတလဲလဲတွက်ချက်မှုများကိုအချိန်တိုင်းရှောင်ရှားနိုင်သည်။ သင် Redis သို့မဟုတ် Memcach ကဲ့သို့သော Cache ကိုဖြေရှင်းနည်းများကိုသုံးနိုင်သည်။
// သင်အသုံးပြုသည်ဟုယူဆပါ Redis cache အဖြစ်
$redis = new Redis();
$redis->connect('m66.net');
$cacheKey = 'transformed_array';
$transformedArray = $redis->get($cacheKey);
if ($transformedArray === false) {
// cache ထဲမှာဒေတာမရှိလျှင်,cache ကိုကူးပြောင်းနှင့်သိမ်းဆည်းပါ
$transformedArray = array_change_key_case($array, CASE_LOWER);
$redis->set($cacheKey, $transformedArray);
}
၎င်းသည်မိတ္တူပွားများစားသုံးမှုကိုထိရောက်စွာလျှော့ချနိုင်သည်။
ကြီးမားသော array_change_key_key_case_case () , အဆင်ပြေသော function တစ်ခုဖြစ်နေစဉ်, အထက်ပါနည်းလမ်းအားဖြင့်ဤလုပ်ဆောင်မှုကိုအသုံးပြုသောအခါသင်သည်မှတ်ဥာဏ်အသုံးပြုမှုကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။
မူရင်းခင်းကျင်းမှုကိုတိုက်ရိုက်ပြုပြင်ရန်ကြိုးစားပါ။
ပုံတူကူးယူခြင်းမှရှောင်ရှားရန် Array_walk () ကို သုံးပါ။
0 ယ်လိုအားနှင့်ပတ်သက်သည့်အချက်အလက်များကိုထုတ်လုပ်ရန်မီးစက်ကိုသုံးပါ။
PHP ရဲ့မှတ်ဉာဏ်ချိန်ညှိချက်များကိုညှိပါ။
ထပ်ခါတလဲလဲတွက်ချက်မှုကိုလျှော့ချရန် cache ယန္တရားကိုသုံးပါ။
ဤ optimization နည်းလမ်းများကသင့်အားမှတ်ဥာဏ်ကြီးများကိုပြုပြင်သည့်အခါမှတ်ဉာဏ်ကိုသိမ်းဆည်းရန်နှင့်လျှောက်လွှာစွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်ကူညီနိုင်သည်။