ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်အထူးသဖြင့် cache, configuration intrainization ပြုလုပ်ရာတွင်ပြုလုပ်သောအခြေအနေများအတွက်အဓိကအကြောင်းရင်းများအတွက်သတ်မှတ်ထားသည့် defied default တန်ဖိုးများကိုသတ်မှတ်ရန်လိုအပ်သည်။ PHP ၏ built-in array_Kefate_Keys () လုပ်ဆောင်ချက်သည်ဤပြ problem နာကိုဖြေရှင်းနိုင်ပြီး Redundant Code ကိုလျှော့ချရန်,
ဤဆောင်းပါးသည်ဤရည်မှန်းချက်အောင်မြင်ရန်မည်သို့အသုံးပြုရမည်ကိုရှင်းပြရန်ဤဆောင်းပါးသည် Cache ဖွဲ့စည်းပုံ၏မူလတန်ဖိုးကိုအသုံးပြုလိမ့်မည် ။
array_put_keys () သည်သတ်မှတ်ထားသောသော့များကိုသတ်မှတ်ထားသောတန်ဖိုးဖြင့်ဖြည့်ဆည်းရန် PHP မှပေးသော array function တစ်ခုဖြစ်သည်။
function ကိုအဓိပ္ပါယ်:
array array_fill_keys(array $keys, mixed $value)
$ သော့များ - သော့ချက်အမည်များအားလုံးပါ 0 င်သည့်နေရာတစ်ခု။
$ တန်ဖိုး - သော့တစ်ခုစီကိုသတ်မှတ်ရန်မူလတန်ဖိုး။
ဥပမာ -
$keys = ['user_1', 'user_2', 'user_3'];
$defaultValue = null;
$cache = array_fill_keys($keys, $defaultValue);
print_r($cache);
ထုတ်လုပ်မှု -
Array
(
[user_1] =>
[user_2] =>
[user_3] =>
)
ပုံမှန်ဇာတ်လမ်းတစ်ပုဒ်ကိုမြင်ယောင်ကြည့်ပါ။ သင်ဟာ system cache ကိုတည်ဆောက်နေတဲ့ sache ကို cache stage ကိုတည်ဆောက်နေတဲ့နေရာမှာ cached data ကိုအပြီးသတ်ခင်းကျင်းထားတဲ့ adray နဲ့အညီ,
$defaultCacheValue = [
'profile' => null,
'settings' => [],
'last_login' => null,
];
သင့်တွင်အသုံးပြုသူစာရင်းများစွာရှိသည် -
$userIds = [101, 102, 103, 104];
အကယ်. သင်သည်ဤဖွဲ့စည်းတည်ဆောက်ပုံများကိုကိုယ်တိုင်စတင်နိုင်ပါက၎င်းကိုဆက်လက်ထိန်းသိမ်းရန်ခက်ခဲပြီးခက်ခဲလိမ့်မည်။ အလွယ်တကူပြုလုပ်ရန် array_klek_keys () ကို သုံးပါ။
$keys = array_map(function ($id) {
return "user_cache_$id";
}, $userIds);
$cacheStructure = array_fill_keys($keys, $defaultCacheValue);
print_r($cacheStructure);
ရလဒ်ရလဒ် -
Array
(
[user_cache_101] => Array
(
[profile] =>
[settings] => Array
(
)
[last_login] =>
)
[user_cache_102] => Array
(
[profile] =>
[settings] => Array
(
)
[last_login] =>
)
...
)
သင်၏သုံးစွဲသူ ID ကိုဒေတာဘေ့စ်သို့မဟုတ် API မှရရှိသောအခါတွင်သင် array_column () နှင့်အခြားလုပ်ဆောင်မှုများကိုသုံးနိုင်သည်။
// ထံမှယူဆ API အောက်ပါဖွဲ့စည်းပုံပြန်လာ
$userData = [
['id' => 201, 'name' => 'Alice'],
['id' => 202, 'name' => 'Bob'],
['id' => 203, 'name' => 'Charlie'],
];
$userIds = array_column($userData, 'id');
$keys = array_map(function ($id) {
return "user_cache_$id";
}, $userIds);
$defaultCache = [
'profile_url' => 'https://m66.net/user/default',
'status' => 'offline',
'messages' => [],
];
$cache = array_fill_keys($keys, $defaultCache);
print_r($cache);
မပြောင်းလဲနိုင်သောအရာများအတွက်မှတ်စုများကိုသတိပြုပါ - သင်သည် padding ၏မူလတန်ဖိုးကိုပြုပြင်ပါက, အကယ်. သော့တစ်ခုစီသည်လွတ်လပ်သောဖွဲ့စည်းပုံရှိရန်သင်လိုချင်လျှင်၎င်းကိုကိုယ်တိုင်ကူးယူရန်လိုအပ်သည်။
$cache = [];
foreach ($keys as $key) {
$cache[$key] = $defaultCache; // လှျင် defaultCache ဒါဟာအရာဝတ်ထုပါ,နက်ရှိုင်းသောမိတ္တူလိုအပ်သည်
}
Array_MAP နှင့်အသုံးပြုရန်ပိုမိုအစွမ်းထက်သည် ။ array_map array_colum , array_copolum , array_combine နှင့်အခြားလုပ်ဆောင်ချက်များသည်အလွန်အမင်းနှင့်ပြောင်းလွယ်ပြင်လွယ်ဒေတာများကိုရေးနိုင်ပါသည်။
array_put_keys () သည် PHP တွင်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်မှုဖြစ်သည်။ သငျသညျ cache ကိုစတင်ခြင်း, ဒေတာပုံမှန်သို့မဟုတ် configuration presets တွေကိုအသုံးပြုနေသလား, ဒီ function ကိုသုံးပြီးဒီ function ကိုစနစ်တကျအသုံးပြုသည်သင့်ကုဒ်ကိုသပ်သပ်ရပ်ရပ်နှင့်ကြော့ရှင်းစေနိုင်သည်။