လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Array_chunk သည်ခွဲထွက်သောအခါအချည်းနှီးသောအချက်အလက်များကိုရှောင်ရှားသည်

Array_chunk သည်ခွဲထွက်သောအခါအချည်းနှီးသောအချက်အလက်များကိုရှောင်ရှားသည်

M66 2025-04-26

PHP ပရိုဂရမ်တွင် Array_chunk () သည်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဒီ function မှာ parameters တွေကိုနှစ်ခုရှိတယ်, ပထမကတော့မူရင်းခင်းကျင်းမှုတစ်ခုဖြစ်ပြီးဒုတိယကတော့ပိတ်ပင်တားဆီးမှုတစ်ခုရဲ့အရွယ်အစားပါ။ ဤလုပ်ဆောင်ချက်သည်အလွန်အဆင်ပြေသော်လည်းတစ်ခါတစ်ရံတွင် Null တန်ဖိုးများပါ 0 င်သောလုပ်ကွက်များကိုထုတ်လုပ်သည်။ ၎င်းသည်အချို့သော application တစ်ခုအတွက်မသင့်တော်ပါ။ array_chunk () arrays splitting အခါအချည်းနှီးသောလုပ်ကွက်ထုတ်လုပ်မှုကိုမှရှောင်ရှားရန်? အောက်တွင်ကျွန်ုပ်တို့သည်ဘုံဖြေရှင်းချက်အချို့ကိုဆွေးနွေးပါမည်။

အခြေခံအသုံးပြုမှု

ပထမ ဦး စွာ Array_chunk () function ကို၏အခြေခံအသုံးပြုမှုကိုကြည့်ကြပါစို့။ ကျွန်ုပ်တို့တွင်ရိုးရှင်းသောခင်းကျင်းမှုရှိပြီးအရွယ်အစား 3 ခုထဲသို့ခွဲချင်သည်ဆိုပါစို့။

 <?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$result = array_chunk($arr, 3);
print_r($result);
?>

output ရလဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )

    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
        )
)

အထက်ပါကုဒ်သည်မူရင်းခင်းကျင်းမှုကိုအောင်မြင်စွာခွဲထားနိုင်အောင်အောင်မြင်စွာခွဲထားနိုင်သည်။

ပြ Proble နာ: အချည်းနှီးသောလုပ်ကွက်များ၏မျိုးဆက်

array_chunk () သည် သတ်မှတ်ထားသောပိတ်ပင်တားဆီးမှုအရွယ်အစားအရ Array ကိုခွဲထွက်လိမ့်မည်။ သို့သော်ခင်းပိတ်အရွယ်အစားကိုပိတ်ပင်တားဆီးမှုအရွယ်အစားဖြင့်လုံးဝကွဲပြားခြင်းမပြုနိုင်ပါကနောက်ဆုံးပိတ်ပင်တားဆီးမှုတွင်သတ်မှတ်ထားသောဒြပ်စင်များသို့မဟုတ်အချည်းနှီးသောအချည်းနှီးသောပမာဏထက်နည်းပါးသည်။ သင်အချည်းနှီးသောလုပ်ကွက်များကိုရှောင်ရှားလိုပါကအောက်ပါနည်းလမ်းများကိုသင်ပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။

ဖြေရှင်းချက် - အချည်းနှီးသောလုပ်ကွက်များကို filter လုပ်ပါ

အချည်းနှီးသောလုပ်ကွက်များကိုရှောင်ရှားရန် array ကိုခွဲထုတ်ပြီးနောက်မည်သည့်အချည်းနှီးသောလုပ်ကွက်များကို filter လုပ်ရန် array_filter () function ကိုသုံးနိုင်သည်။ ဤတွင်မည်သို့အောင်မြင်ရန်မည်သို့ဥပမာတစ်ခုဖြစ်သည်။

 <?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8];
$chunked = array_chunk($arr, 3);

// အသုံးပြု array_filter() အချည်းနှီးသောလုပ်ကွက်ထွက်စစ်ထုတ်ပါ
$chunked = array_filter($chunked, function($chunk) {
    return !empty($chunk);
});

print_r($chunked);
?>

output ရလဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )

    [2] => Array
        (
            [0] => 7
            [1] => 8
        )
)

array_filter () အချည်းနှီးသောလုပ်ကွက်များပေါ်လာစေရန်အချည်းနှီးသောဒြပ်စင်များပါ 0 င်သောလုပ်ကွက်များကိုကျွန်ုပ်တို့ဖယ်ရှားနိုင်သည်။

နောက်တစ်နည်း, ခင်းကျင်းမှုကိုအရွယ်အစားပြောင်းပါ

သငျသညျအချည်းနှီးသောလုပ်ကွက်များကိုစစ်မအောင်မြင်လိုပါကခင်းကျင်းကိုခွဲထုတ်သည့်အခါအသုံးပြုသော block အရွယ်အစားကိုချိန်ညှိရန်စဉ်းစားပါ။ ဥပမာအားဖြင့်, သင်သည်ခင်းကျင်းမှုကိုမကွဲစေရန်အတွက်ခင်းကျင်းမှု၏အရှည်အပေါ် အခြေခံ. သင့်လျော်သောပိတ်ပင်တားဆီးမှုအရွယ်အစားကို အခြေခံ. တွက်ချက်နိုင်ပြီးနောက်ဆုံးပိတ်ပင်တားဆီးမှုသည်အချည်းနှီးဖြစ်သည်။ ဥပမာအားဖြင့်:

 <?php
$arr = [1, 2, 3, 4, 5, 6, 7];
$chunkSize = 3;
$remaining = count($arr) % $chunkSize;

if ($remaining > 0) {
    $chunkSize = $remaining;
}

$chunked = array_chunk($arr, $chunkSize);
print_r($chunked);
?>

ဤနည်းအားဖြင့် Code သည်အချည်းနှီးသောလုပ်ကွက်များကိုရှောင်ရှားရန်ခင်းကျင်းမှု၏အရှည်အတိုင်းနောက်ဆုံးပိတ်ပင်တားဆီးမှု၏အရွယ်အစားကိုချိန်ညှိလိမ့်မည်။

အကျဉ်းချုပ်

ဒီဆောင်းပါးမှာဥပမာတွေကတော့ array_chunk () function ကပြ problem နာကိုနားလည်ပြီးပြ arrays array တစ်ခုခွဲထုတ်တဲ့အခါအချည်းနှီးသောလုပ်ကွက်များထုတ်ပေးလိမ့်မယ်။ အချည်းနှီးသောလုပ်ကွက်များရှိမျိုးဆက်များကိုရှောင်ရှားရန်အချည်းနှီးသော လုပ်ကွက်များ (သို့) dynamically size ကိုချိန်ညှိခြင်း။ ကွဲပြားခြားနားသောလိုအပ်ချက်များကိုပေါ် မူတည်. array ၏အကျိုးသက်ရောက်မှုကိုမျှော်လင့်ထားသည့်အတိုင်းသေချာစေရန်သင့်လျော်သောဖြေရှင်းချက်ကိုရွေးချယ်နိုင်သည်။