လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_chunk ကိုအသုံးပြုနည်း

array_chunk ကိုအသုံးပြုနည်း

M66 2025-04-27

ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်းကျွန်ုပ်တို့သည်အချက်အလက်အမြောက်အများကိုအသုတ်တွင်ပြုလုပ်ရန်လိုအပ်သည်။ အသုံးပြုသူတောင်းဆိုမှုများကိုထုတ်ယူခြင်း, အသုတ်ဒေတာတင်သွင်းမှုသို့မဟုတ်အချိန်ကိုက်အလုပ်များ, အသုတ်အပြောင်းအလဲသည်စနစ်ဝန်ထုပ်ဝန်ပိုးကိုထိထိရောက်ရောက်လျှော့ချနိုင်သည်။ PHP တွင် array_chunk function သည် chunking တွင် arrays များကိုလုပ်ဆောင်ရန်ရိုးရှင်းသောနှင့်ထိရောက်သောနည်းလမ်းဖြင့်ပေးသည်။

Array_chunk function ကဘာလဲ။

array_chunk function သည် PHP တွင်အသုံးပြုသော array processing processing ဖြစ်သည်။ ၎င်းသည်ကြီးမားသောခင်းကျင်းမှုများစွာကိုသေးငယ်သောအရာများစွာကိုခွဲဝေပေးသည်။ သေးငယ်သော array တစ်ခုစီ၏အရှည်ကို function parameters များကသတ်မှတ်နိုင်သည်။ ၎င်းသည်အသုတ်အပြောင်းအလဲလုပ်ငန်းများအတွက်အလွန်အဆင်ပြေသည်။

Array_chunk function ၏အခြေခံအသုံးပြုမှု

function ရှေ့ပြေးပုံစံ:

 array_chunk(array $array, int $size, bool $preserve_keys = false): array
  • $ array : split ခံရဖို့မူရင်းခင်းကျင်း။

  • $ အရွယ်အစား - သေးငယ်တဲ့ array တစ်ခုစီ၏အရွယ်အစား။

  • $ Presentify_Keys : မူလခင်းကျင်း၏သော့များကိုဆက်လက်ထိန်းသိမ်းထားသည်ဖြစ်စေ, Default သို့ Default OFF False ,

ဥပမာ - အလုပ်များကိုပုံမှန်လုပ်ဆောင်ရန် array_chunk ကို သုံးပါ

အသုံးပြုသူတစ် ဦး ချင်းစီသည်အချိန်ကောင်းလည်ပတ်ရန်လိုအပ်သည့်အသုံးပြုသူများစာရင်းတွင်ရှိသည်ဆိုပါစို့။ အလွန်အကျွံဒေတာအပြောင်းအလဲကိုပြုလုပ်ရန်တစ်ပြိုင်နက်တည်းလုပ်ဆောင်ရန်ကျွန်ုပ်တို့သည် array_chunk ကို အသုံးပြု. အသုံးပြုသူစာရင်းကိုဖြည့်ဆည်းရန်ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။

ဒီမှာနမူနာကုဒ်တစ်ခုပါ။

 <?php

// အသုံးပြုသူအချက်အလက်ကိုတုပပါ
$users = [
    'user1', 'user2', 'user3', 'user4', 'user5',
    'user6', 'user7', 'user8', 'user9', 'user10'
];

// အသုတ်နှုန်းသုံးစွဲသူအရေအတွက်
$batchSize = 3;

// အသုံးပြု array_chunk အသုံးပြုသူဒေတာကိုခွဲခြမ်းစိတ်ဖြာလုပ်ဆောင်ချက်များ 3 ဒြပ်စင်အစုတခု
$userChunks = array_chunk($users, $batchSize);

foreach ($userChunks as $batch) {
    // အချိန်ကိုက်တာဝန်များတူအောင်ဖန်တီးပါ
    echo "လုပ်ငန်းတာဝန်ထုတ်ယူခြင်း: " . implode(', ', $batch) . "\n";
    sleep(1); // တစ်ခုချင်းစီကိုအလုပ်အပြောင်းအလဲနဲ့လိုအပ်ပါတယ်ယူဆ 1 စက်ဏန့်
}

?>

ရလဒ်ဥပမာ:

 လုပ်ငန်းတာဝန်ထုတ်ယူခြင်း: user1, user2, user3
လုပ်ငန်းတာဝန်ထုတ်ယူခြင်း: user4, user5, user6
လုပ်ငန်းတာဝန်ထုတ်ယူခြင်း: user7, user8, user9
လုပ်ငန်းတာဝန်ထုတ်ယူခြင်း: user10

ဤဥပမာတွင် array_chunk သည် မူရင်းအသုံးပြုသူကိုအသုံးပြုသူများ (3) ဦး အထိပါ 0 င်သောအစုငယ်တစ်ချောင်းစီကိုသေးငယ်သောအသုတ်များအဖြစ်ခွဲထားသည်။ ထို့နောက်ဤအသုံးပြုသူများသည် timed processing task ကိုအတုယူနေသော foreach မှတစ်ဆင့်သုတ်ခြင်းဖြင့်သုတ်ခြင်းဖြင့်အသုတ်ဖြင့်ပြုလုပ်ထားသည်။

အဘယ်ကြောင့် array_chunk သည်အချိန်ကောင်းအပြောင်းအလဲအတွက်သင့်တော်သနည်း။

  1. Memory Management : Array_chunk သည် ကြီးမားသောခင်းကျင်းမှုအမြောက်အမြားကိုသေးငယ်သောအစုအမျိုးမျိုးသို့ ခွဲ. မှတ်စုများအသုံးပြုမှုကိုလျှော့ချခြင်း, ဒေတာ volume သည်အလွန်ကြီးမားပါကဤချဉ်းကပ်မှုသည်အချက်အလက်များလွန်းသောအချက်အလက်များတင်ခြင်းကြောင့်ဖြစ်ရတဲ့မှတ်ဥာဏ်လျှံကိုရှောင်ရှားလိမ့်မည်။

  2. တစ်ပြိုင်နက်တည်းလုပ်ဆောင်ခြင်း - အချိန်တန်လျှင်အချို့သောအချိန်ဇယားများအတွက်အချက်အလက်များပမာဏသည်သေးငယ်သောအချက်အလက်များသည်သေးငယ်သောအလုပ်များပြီးအောင်လုပ်ထုံးလုပ်နည်းများကိုအကောင်အထည်ဖော်နိုင်မည်ဖြစ်သည်။ ဥပမာအားဖြင့်, ကွဲပြားခြားနားသောအသုတ်များကိုနောက်ခံလုပ်ငန်းစဉ်တွင်တစ်ပြိုင်နက်တည်းလုပ်ဆောင်နိုင်သည်။

  3. Control Task Frequency : Task Volume သည်ကြီးမားသည့်အခါ အိပ်စက်ခြင်း အချိန်ကိုကျိုးကြောင်းဆီလျော်စွာချိန်ညှိခြင်းအားဖြင့်လုပ်ငန်းခွင်ကြိမ်နှုန်းကိုသင်ထိန်းချုပ်နိုင်သည်။ ဥပမာအားဖြင့်, ဒေတာဘေ့စ်များသို့မဟုတ်တတိယပါတီ APIs များကိုမကြာခဏအသုံးပြုခြင်းကိုရှောင်ကြဉ်ပါ။

URL segment အတွက် array_chunk ကို သုံးပါ

အချို့သောကိစ္စရပ်များတွင်ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသော URLs နှင့်အသုတ်အပြောင်းအလဲများမှအချက်အလက်များကိုရယူရန်လိုအပ်နိုင်သည်။ အကယ်. သင်သည်ဤ URL များကိုပုံမှန် 0 င်ရောက်လိုပါက၎င်းတို့အားအသုတ်တွင်ပြုလုပ်ရန် array_chunk ကို ပေါင်းစပ်နိုင်သည်။ URLs စီးရီးများမှဒေတာများကိုရယူလိုပြီးတောင်းဆိုသော URL အရေအတွက်အကန့်အသတ်ရှိသည်ဟုဆိုပါစို့။ အောက်ပါအတိုင်းပြုလုပ်နိုင်သည်ဆိုပါစို့။

 <?php

// အုပ်စုတစ်စုကိုတုပ URL စကားပေြာဟော
$urls = [
    'https://example.com/api/1', 'https://example.com/api/2', 'https://example.com/api/3',
    'https://example.com/api/4', 'https://example.com/api/5', 'https://example.com/api/6'
];

// ဒိုမိန်းအမည်အားလုံးကိုအစားထိုးပါ m66.net
$urls = array_map(function ($url) {
    return preg_replace('/https:\/\/.*?\//', 'https://m66.net/', $url);
}, $urls);

// တစ်ခုချင်းစီကိုအပြောင်းအလဲနဲ့ 2 မရေွှးသော URL
$batchSize = 2;

// အသုံးပြု array_chunk function ကိုအလိုတော် URL စာရင်းသို့ခွဲခြား 2 မရေွှးသော一组
$urlChunks = array_chunk($urls, $batchSize);

foreach ($urlChunks as $batch) {
    // ဤအချိန်အထိအချိန်မီဝင်ရောက်ခွင့်ကိုတုပ URL
    echo "ဝင်ရောက်ခွင့် URL သုတ်ခြင်း: " . implode(', ', $batch) . "\n";
    sleep(1); // တစ်ခုချင်းစီကိုတောင်းဆိုမှုလိုအပ်ပါတယ်ယူဆ 1 စက်ဏန့်
}

?>

ရလဒ်ဥပမာ:

 ဝင်ရောက်ခွင့် URL သုတ်ခြင်း: https://m66.net/api/1, https://m66.net/api/2
ဝင်ရောက်ခွင့် URL သုတ်ခြင်း: https://m66.net/api/3, https://m66.net/api/4
ဝင်ရောက်ခွင့် URL သုတ်ခြင်း: https://m66.net/api/5, https://m66.net/api/6

ဤဥပမာတွင် URLs အားလုံး၏ domain name ကို Preg_replace မှ M66.net နှင့်ပထမဆုံးအစားထိုးလိုက်ပါ။ ထို့နောက် array_chunk ကို သုံး. urls နှစ်ခုကိုသုံးရန်,

အကျဉ်းချုပ်

Array_chunk function မှတဆင့် PHP သည်ကျွန်ုပ်တို့အားအဆင်ပြေသောခင်းကျင်းမှု segment function ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည်အချိန်ကုန် ခြင်း လုပ်ငန်းများ, အသုတ်လက်လှမ်းမီမှု URLs သို့မဟုတ်ကြီးမားသောအချက်အလက်ပမာဏများ၏အသုတ် accls သို့မဟုတ် batch operations များ, အသုတ်အပြောင်းအလဲသည်စနစ်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်အောင်လုပ်နိုင်ရုံသာမကအရင်းအမြစ်များကိုထိရောက်စွာစီမံခန့်ခွဲခြင်းနှင့်လုပ်ငန်းတာဝန်အလျင်အမြန်တည်ငြိမ်မှုနှင့်ယုံကြည်စိတ်ချရမှုကိုတိုးတက်စေနိုင်သည်။