အသုံးပြုသူမှပေးသောသော့စာရင်းတွင် အခြေခံ. နောက်ဆက်တွဲအသုံးပြုမှုအတွက် default တန်ဖိုးများကိုထုတ်လုပ်ရန်မျှော်လင့်သော function တစ်ခုကိုကျွန်ုပ်တို့ရေးသည်ဆိုပါစို့။
function initDefaults(array $keys, $defaultValue) {
return array_fill_keys($keys, $defaultValue);
}
$ သော့များသည် ဗလာဖြစ်လျှင် function သည်အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့သည်။ အကယ်. ကုဒ်၏နောက်ဆက်တွဲယုတ္တိဗေဒသည်အချည်းနှီးသော array များကိုအထူးမကိုင်တွယ်ပါကအောက်ပါပြ problems နာများဖြစ်ပေါ်နိုင်သည်။
Traversal မအောင်မြင်ပါ - loop body သည်စီးပွားရေးယုတ္တိဗေဒအပေါ်သက်ရောက်မှုမရှိပါ။
ဒေတာပျောက်ဆုံးနေသော : မျှော်လင့်ထားသည့် default key-value အတွဲများကိုထုတ်လုပ်ခြင်းမရှိပါ။
ပရိုဂရမ်ချွင်းချက် - ဥပမာအားဖြင့် array element တွေကိုသုံးတဲ့အခါ undefined အညွှန်းကိန်းအမှားတစ်ခုဖြစ်ပွားခဲ့သည်။
Array_fatch_Keys ကိုမခေါ်မီသော့ချက်ခင်းကျင်းမှုရှိမရှိကို ဦး စွာဆုံးဖြတ်ပါ။
$keys = getKeysFromUser(); // တစ် ဦး အချည်းနှီးသောခင်းကျင်းရန်ပြန်ပို့နိုင်ပါသည်
if (empty($keys)) {
// စီးပွားရေးလိုအပ်ချက်များအရသိရသည်,အပြောင်းအလဲနဲ့အစီအစဉ်ကိုရွေးပါ:
// 1) default keys တစ်ခုခင်းကျင်းပါ
// 2) ချွင်းချက်ချက်ချင်းပစ်
// 3) တစ် ဦး အချည်းနှီးသောခင်းကျင်းကိုတိုက်ရိုက်ပြန်လာနှင့်နောက်ဆက်တွဲအပြောင်းအလဲနဲ့ယုတ္တိဗေဒအတွက်သဟဇာတဖြစ်ပါတယ်
$keys = ['defaultKey']; // ဒီမှာ default key ကိုသုံးပါ
}
$array = array_fill_keys($keys, 0);
ဤနည်းလမ်းသည် ဒေါ်လာ array တွင်အနည်းဆုံးဒြပ်စင်တစ်ခုပါ 0 င်သည်။
အကယ်. စီးပွားရေးလုပ်ငန်းများကိုခွင့်ပြုပါကပုံသေသတ်မှတ်ထားသည့်ပုံသေသော့များကိုအခြားရွေးချယ်စရာတစ်ခုအဖြစ်သတ်မှတ်နိုင်သည်။
function safeFillKeys(array $keys, $defaultValue, array $defaultKeys = ['default']) {
if (empty($keys)) {
$keys = $defaultKeys;
}
return array_fill_keys($keys, $defaultValue);
}
ခေါ်တဲ့အခါ:
$result = safeFillKeys([], 0, ['key1', 'key2']);
print_r($result);
ဤနည်းအားဖြင့်အချည်းနှီးသောခင်းကျင်းမှုကိုဖြတ်သန်းနေလျှင်ပင်သင့်တော်သောပုံမှန်ဖွဲ့စည်းပုံကိုပြန်ပို့နိုင်သည်။
လွန်ကျူးခြင်းကို key array ဖြင့်ပေါင်းစပ်ပြီး default key array သည်နောက်ဆုံးပြင်ဆင်မှုသည်ဗလာမဟုတ်ပါ
$keys = array_unique(array_merge($keys, ['fallbackKey']));
$array = array_fill_keys($keys, null);
Array_uniqueique သည် သော့ကိုထပ်ခါတလဲလဲမလုပ်နိုင်ဟုအာမခံသည်။ Array_merge သည် default key ကိုဖြည့်ဆည်းပေးသည်။ ၎င်းသည်အချည်းနှီးသောခင်းကျင်းအခြေအနေကိုရှောင်ရှားသည်။
array_put_eys ၏ခေါ်ဆိုမှုအချိန်ကိုသင်မထိန်းချုပ်နိုင်ပါကရလဒ်ကိုအသုံးပြုသောအခါသင်တရားစီရင်နိုင်ခဲ့သည် -
$array = array_fill_keys($keys, 0);
if (empty($array)) {
// အထူးကုသမှု,ဥပမာအားဖြင့်, ပုံမှန်တန်ဖိုးကိုစတင်ပါ
$array = ['default' => 0];
}
// နောက်ဆက်တွဲအပြောင်းအလဲနဲ့ဆက်လက်
array_put_eys သည်တိကျသောနှင့်ထိရောက်သော function တစ်ခုဖြစ်သည်။ သို့သော် input key array သည်အချည်းနှီးဖြစ်သည့်အခါအချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့ခြင်း၏အပြုအမူသည်လျှို့ဝှက်အန္တရာယ်များကိုအစီအစဉ်သို့ပို့ဆောင်နိုင်သည်။ ကျိုးကြောင်းဆီလျော်ကြိုတင်ကာကွယ်မှုများတွင် -
input array သည်ကြိုတင်မဲခြင်းရှိမရှိဆုံးဖြတ်ရန်,
default key တန်ဖိုးကိုသတ်မှတ်ပါ။
ဖြတ်သန်းသောသော့ချက်ခင်းကျင်းမှုကို default key array ဖြင့်ပေါင်းစည်းပါ။
စီးပွားရေးယုတ္တိဗေဒဆိုင်ရာဗလာခင်းကျင်းအခြေအနေများနှင့်သဟဇာတဖြစ်သည်။
၎င်းသည်ပရိုဂရမ်၏ကြံ့ခိုင်မှုနှင့်တည်ငြိမ်မှုကိုသေချာစေရန်နှင့်အချည်းနှီးသောခင်းကျင်းမှုများကြောင့်ဖြစ်ပေါ်လာသောယုတ္တိအားနည်းချက်များသို့မဟုတ်အမှားအယွင်းများကိုရှောင်ရှားနိုင်သည်။
// Code Page:လုံခြုံစိတ်ချရသောအသုံးပြုမှု array_fill_keys
function safeArrayFillKeys(array $keys, $value, array $defaultKeys = ['default']) {
if (empty($keys)) {
$keys = $defaultKeys;
}
return array_fill_keys($keys, $value);
}
$keys = []; // ဖြစ်ကောင်းဗလာ
$result = safeArrayFillKeys($keys, 0);
print_r($result);