PHP တွင် array_chunk function ကိုသေးငယ်တဲ့ခင်းကျင်းမှုများကိုခွဲဝေရန်ကြီးမားသောခင်းကျင်းမှုကိုခွဲခြားရန်အသုံးပြုသည်။ စာမျက်နှာများသို့မဟုတ်မှတ်ဉာဏ်တွင်အချက်အလက်များအရဒေတာများနှင့်အညီအချက်အလက်များကိုပြသသည့်အချက်အလက်အမြောက်အများကိုပြုပြင်သည့်အခါဤချဉ်းကပ်မှုသည်အလွန်အသုံးဝင်သည်။ သို့သော်များစွာသော developer များစွာသည်ကြီးမားသောဒေတာအစုံနှင့်ဆက်ဆံရာတွင် array_chunk သည် စွမ်းဆောင်ရည်နှေးကွေးမည်ကိုစိုးရိမ်နိုင်သည်။
ပထမ ဦး စွာ array_chunk အလုပ်လုပ်ပုံကိုအတိုချုပ်နားလည်ကြပါစို့။ ဤလုပ်ဆောင်ချက်သည်အရေးပါသောဒြပ်စင်များပါ 0 င်သောအရာများကိုပါ 0 င်သောသေးငယ်သော array များထဲသို့ခင်းကျင်းစေသည်။ ဥပမာအားဖြင့်:
$array = range(1, 1000);
$chunks = array_chunk($array, 100);
ဤကုဒ်သည် array $ array ကို subarrays 10 ခုထဲသို့ခွဲထွက်လိမ့်မည်။ subarray တစ်ခုစီတွင်ဒြပ်စင် 100 အထိရှိသည်။
မှတ်ဉာဏ်အသုံးပြုမှု
Array_chunk သည် subarrays မျိုးစုံဖန်တီးသည်။ ထို့ကြောင့်မှတ်ဉာဏ်ပိုမိုအသုံးပြုသည်။ သင်ကြီးမားတဲ့ခင်းကျင်းကိုဖြတ်လိုက်တိုင်း PHP သည် memory in array တစ်ခုစီအတွက်နေရာအသစ်ကိုခွဲဝေချထားပေးသည်။ ၎င်းသည်အထူးသဖြင့်ကြီးမားသောခင်းကျင်းမှုများကိုကိုင်တွယ်သောအခါ၎င်းသည်မှတ်ဥာဏ်အသုံးပြုမှုလျင်မြန်စွာတိုးပွားစေနိုင်သည်။ PHP သည်အမှိုက်သရိုက်များကိုအလိုအလျောက်လုပ်ဆောင်သော်လည်း Memory Memory Management သည်များစွာသောအချက်အလက်များနှင့်ဆက်ဆံရာတွင်ကိုင်တွယ်ရာတွင်မှတ်ဉာဏ်စီမံခန့်ခွဲမှုသည်စိုးရိမ်နေဆဲဖြစ်သည်။
ဥပမာ -
// မူရင်းခင်းကျင်းအလွန်ကြီးမားသည်ဟုယူဆ
$bigArray = range(1, 1000000);
$chunks = array_chunk($bigArray, 1000);
ဤကိစ္စတွင် ဒေါ်လာတုံးတွင် စာလုံးကြီး 1000 ပါ 0 င်ပြီးတစ် ဦး ချင်းစီသည်ဒြပ်စင် 1000 အထိပါ 0 င်သည်။ သင်သတိထားရန်လိုအပ်သည်, ၎င်းသည်မှတ်ဥာဏ်အသုံးပြုမှုကိုတိုးပွားစေနိုင်သည်။
ပြပဲှ
ကြီးမားသောဒေတာအစုများနှင့်အလုပ်လုပ်သောအခါ array_chunk သည် မူလခင်းကျင်းမှုကိုတစ်ကြိမ်ဖြတ်ပြီးဒြပ်စင်တစ်ခုစီကို subarray သို့ထည့်သည်။ PHP ကိုယ်တိုင်၏ Array စစ်ဆင်ရေးကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ထားသော်လည်းကြီးမားသောခင်းကျင်းမှုကြောင့် array_chunk ၏ရှုပ်ထွေးမှုသည် O (N) ကိုဖြတ်သန်းရန်လိုအပ်သည်။
အခြားနည်းလမ်းများကိုနှိုင်းယှဉ်
အကယ်. သင်သည် Array ကိုခွဲထုတ်ချင်သော်လည်းသေးငယ်သော array တစ်ခုစီ၏သတ်သတ်မှတ်မှတ်ဖွဲ့စည်းပုံကိုဂရုမစိုက်ပါကအခြားနည်းစနစ်များ (ထိုကဲ့သို့သောကွင်းဆက်ကိုအသုံးပြုသကဲ့သို့) သည်ပိုမိုထိရောက်နိုင်သည်။ ဥပမာအားဖြင့်ခင်းကျင်းမှုကိုကိုယ်တိုင်ခွဲစိတ်ခြင်းအတွက်ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
$chunkSize = 100;
$chunks = [];
$count = count($bigArray);
for ($i = 0; $i < $count; $i += $chunkSize) {
$chunks[] = array_slice($bigArray, $i, $chunkSize);
}
ဤချဉ်းကပ်နည်းသည် array_chunk function မှထုတ်လုပ်သောအပိုမှတ်ဉာဏ်သုံးစွဲမှုကိုရှောင်ရှားပြီးအချို့သောကိစ္စရပ်များတွင်စွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သည်။
array_chunk ကို ဘယ်အချိန်မှာသုံးရမလဲ
Array_chunk သည် ကြီးမားသောအချက်အလက်များကိုပြုပြင်သည့်အခါစွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်နိုင်သော်လည်းအထူးသဖြင့်အချက်အလက်ပမာဏသည်အလယ်အလတ်ရှိသည့်အခါအလွန်အဆင်ပြေပြီးထိရောက်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ သင်၏ Dataset သည်အချက်အလက်သန်းအနည်းငယ်မျှမကျော်လွန်ပါက array_chunk သည်များသောအားဖြင့်လုံလောက်သည်။ အထူးသဖြင့်ဒေတာ paging ကိုပြသရန်လိုအပ်ပါက array_chunk သည် ရိုးရှင်းလွယ်ကူပြီးအကောင်အထည်ဖော်ရန်လွယ်ကူစေသည်။
အသေးစားအလတ်စား Datasets အတွက် array_chunk သည်အလွန်ထိရောက်သောကိရိယာတစ်ခုဖြစ်ပြီး၎င်း၏စွမ်းဆောင်ရည်သည်လိုအပ်ချက်များအများစုနှင့်ကိုက်ညီရန်လုံလောက်သည်။ သို့သော်ကြီးမားသောဒေတာအစုများနှင့်ဆက်ဆံရာတွင်မှတ်ဥာဏ်သုံးစွဲမှုနှင့်အပြောင်းအလဲမြန်နှုန်းကိုအာရုံစိုက်ရန်လိုအပ်သည်။ ဤကိစ္စတွင် Arrays သို့မဟုတ်အခြားပိုမိုထိရောက်သော segmentation နည်းလမ်းများအားလက်စွဲစာအုပ်ရေးဆွဲခြင်းသည်ပိုမိုကောင်းမွန်သောစွမ်းဆောင်ရည်ကိုဖြစ်ပေါ်စေနိုင်သည်။
အကယ်. သင်သည်စွမ်းဆောင်ရည်မြှင့်တင်မှုများကိုအမှန်တကယ်အသုံးပြုပါကသင်၏ Dataset ကို Preprocessing လုပ်ရန်သို့မဟုတ်မှတ်ဥာဏ်ကိုပိုမိုထိရောက်စွာအသုံးပြုခြင်းကိုစဉ်းစားနိုင်သည်။ ယေဘုယျအားဖြင့် Array_chunk သည်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ သို့သော်အသုံးပြုသောအခြေအနေနှင့်အညီ၎င်း၏စွမ်းဆောင်ရည်သက်ရောက်မှုကိုအလေးထားသင့်သည်။