array_file () သည် PHP တွင်အလွန်အဆင်ပြေသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်သတ်မှတ်ထားသောတန်ဖိုးများပါ 0 င်သော inarray တစ်ခုပြုလုပ်ရန်အသုံးပြုနိုင်သည်။ သို့သော်ဤလုပ်ဆောင်ချက်သည်ကိစ္စရပ်အားလုံးတွင်အကောင်းဆုံးရွေးချယ်မှုမဟုတ်ပါ။ array_flatfiTe () နှင့်ပိုမိုကောင်းမွန်သောအခြားနည်းလမ်းများအတွက်မသင့်တော်သောအခြေအနေများအရဤဆောင်းပါးသည်အဘယ်အခြေအနေများတွင်ရှာဖွေတွေ့ရှိလိမ့်မည်။
PHP တွင်, array_filling ၏အခြေခံ syntax () သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_fill(int $start_index, int $count, mixed $value): array
၎င်းသည် array တစ်ခုသို့ပြန်လည်ရောက်ရှိလာပြီး $ To start_index ဖြင့်စတင်သည်, ဒေါ်လာရေတွက် ဒြပ်စင်များကိုဖန်တီးပြီးဒြပ်စင်တစ်ခုစီ၏တန်ဖိုးကို ဒေါ်လာတန်ဖိုး တစ်ခုအဖြစ်သတ်မှတ်သည်။
ဥပမာ -
$filled = array_fill(0, 5, 'apple');
// ထုတ်လုပ်ခြင်း: [0 => 'apple', 1 => 'apple', 2 => 'apple', 3 => 'apple', 4 => 'apple']
ဤလုပ်ဆောင်မှုသည်ရိုးရှင်းပြီးထိရောက်မှုရှိပုံရသော်လည်းအချို့သောအခြေအနေများတွင်အသင့်တော်ဆုံးနည်းလမ်းတစ်ခုမဟုတ်ပါ။
Array_flate_fille () သည် array ဒြပ်စင်တစ်ခုစီ၏တန်ဖိုးများသည်ကွဲပြားခြားနားလျှင်,
// အမှားအယွင်းဥပမာ(ကွဲပြားခြားနားသောတန်ဖိုးများ၏လိုအပ်ချက်များကိုဖြည့်ဆည်းနိုင်မှာမဟုတ်ဘူး)
$data = array_fill(0, 3, rand(1, 100));
// အားလုံးတန်ဖိုးများအတူတူဖြစ်လိမ့်မည်,ဥပမာအားဖြင့်: [0 => 42, 1 => 42, 2 => 42],သုံးကွဲပြားခြားနားသောကျပန်းနံပါတ်များ၏
အခြားနည်းလမ်းများ -
$data = [];
for ($i = 0; $i < 3; $i++) {
$data[$i] = rand(1, 100);
}
အလွန်ကြီးမားသောအရေးပါသောအရာများဖြစ်သော array_fleme_flut array_fille () သည်မြန်ဆန်သည်။
ဥပမာအားဖြင့်:
$hugeArray = array_fill(0, 10000000, 0); // မှတ်ဉာဏ်ပင်ပန်းနွမ်းနယ်စေနိုင်သည်
ဤကိစ္စတွင်တန်ဖိုးများကိုနှောင့်နှေးစေပြီးမှတ်ဉာဏ်ကိုကယ်တင်ရန်အစားမီးစက်ကိုအသုံးပြုရန်အကောင်းဆုံးဖြစ်သည်။
အခြားရွေးချယ်စရာ - မီးစက်လုပ်ဆောင်ချက်များကိုသုံးပါ
function generateZeros($count) {
for ($i = 0; $i < $count; $i++) {
yield 0;
}
}
Array_fille ၏သော့ () ၏သော့ () သည် ARRAY_IND_INDEX မှစတင်သည့်ကိန်းတစ်ခုသာရှိနိုင်ပြီး string keys များဖြင့်အသုံးပြုနိုင်သည်။ အကယ်. သင်သည် 'user_1' နှင့် 'user_2' ကဲ့သို့သောသော့ချက်များနှင့် 'user_2' ကဲ့သို့သောသော့ချက်များကိုအညွှန်းကိန်းများအဖြစ်သတ်မှတ်ရန်လိုအပ်ပါက array_filling ကို သုံး. မရပါ။
အခြားနည်းလမ်းများ -
$users = [];
for ($i = 1; $i <= 5; $i++) {
$users['user_' . $i] = 'default';
}
Element တစ်ခုစီကိုသီးခြားအရာဝတ်ထုတစ်ခုသို့မဟုတ်ခင်းကျင်းရန်လိုအပ်ပါက array_flation ကို သုံး. "ရည်ညွှန်းမိတ္တူ" ပြ problem နာကိုဖန်တီးသည်။
$filled = array_fill(0, 3, []);
$filled[0]['a'] = 1;
// ရလဒ်:$filled[1] နှင့် $filled[2] ဒါကြောင့်လည်းထိခိုက်လိမ့်မည်,သူတို့အတူတူခင်းကျင်းဖို့ညွှန်ပြ
လုပ်ရန်မှန်ကန်သောနည်းလမ်း -
$filled = [];
for ($i = 0; $i < 3; $i++) {
$filled[$i] = [];
}
$filled[0]['a'] = 1;
// အခြား element တွေကိုမထိခိုက်ပါ
Array_fille () သည် array များကိုလျင်မြန်စွာတည်ဆောက်ရန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သော်လည်း၎င်းတွင်ကန့်သတ်ချက်အချို့ရှိသည်။ ဤတွင်ဘုံမသမာနိုင်သောဖြစ်နိုင်ချေရှိသောအဖြစ်အပျက်များစာရင်းဖြစ်သည်။
element တစ်ခုစီသည်ကွဲပြားသောတန်ဖိုးတစ်ခုလိုအပ်သည်
Array သော့များသည်ကြိုးကြိုးများသို့မဟုတ် format ချခြင်းညွှန်းကိန်းများဖြစ်သည်
ကြီးမားသောအချက်အလက်များကိုထုတ်လုပ်သည့်အခါမှတ်ဉာဏ်အခွင့်အလမ်းလိုအပ်သည်
element တစ်ခုချင်းစီသည်အရာဝတ်ထုတစ်ခုသို့မဟုတ်လွတ်လပ်စွာရည်ညွှန်းထားသောဖွဲ့စည်းပုံတစ်ခုဖြစ်သည်
တန်ဖိုးများကိုတွက်ချက်ရန်သို့မဟုတ်ပြင်ပယုတ္တိဗေဒအပေါ်မူတည်သည်
အမှန်တကယ်ဇာတ်လမ်းအရပိုမိုသင့်လျော်သောခင်းကျင်းဆောက်လုပ်ရေးနည်းလမ်းကိုရွေးချယ်ခြင်းအားဖြင့်သာဖြစ်ရပ်မှန်များအရ PHP ပရိုဂရမ်တစ်ခုကိုသင်ရေးနိုင်ပါသလား။