လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Paging မတိုင်မီဒေတာစုဆောင်းခြင်းကိုစစ်ထုတ်ပါ

Paging မတိုင်မီဒေတာစုဆောင်းခြင်းကိုစစ်ထုတ်ပါ

M66 2025-06-03

PHP application များကိုတီထွင်သောအခါ, သင်ဟာဒေတာအမြောက်အမြားကိုအကောင်အထည်ဖော်ရန်နှင့်စစ်ထုတ်ရန်လိုအပ်သည့်အခြေအနေများနှင့်မကြာခဏသင်မကြာခဏတွေ့လေ့ရှိသည်။ Array_filter သည် PHP တွင်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ Paging function နှင့် တွဲဖက်. အသုံးပြုသောအခါ Dataset ရှိအချို့သောဒြပ်စင်များသည်များသောအားဖြင့်ပထမအကြိမ် filtered ဖြစ်ပြီးစာမျက်နှာပေါ်တွင်ပြသထားသည်။ ဤဆောင်းပါးသည် array_filter function ကို paging မလုပ်ခင်အချက်အလက်များကိုစစ်ထုတ်ရန်မည်သို့အသုံးပြုရမည်ကိုပြလိမ့်မည်။

1 ။ array_filter function ကိုအခြေခံအသုံးပြုခြင်း

array_filter function ကို callback function မှတဆင့် array အတွက် element တွေကို filter လုပ်ဖို့အသုံးပြုသည်။ parameters နှစ်ခုကိုလက်ခံသည်။

  • ပထမ ဦး ဆုံး parameter သည်စစ်ထုတ်ရန်လိုအပ်သည့်ခင်းကျင်းမှုဖြစ်သည်။

  • ဒုတိယ parameter သည်မည်သည့် element များကိုထိန်းသိမ်းထားမည်ကိုဆုံးဖြတ်ပေးသော callback function ဖြစ်သည်။

Array_Fileter သည် calnback function ၏ပြန်လာတန်ဖိုးကို အခြေခံ. ဒြပ်စင်ကိုထိန်းသိမ်းထားသင့်သည်မသေချာပါ။ အကယ်. callback function ကို မှန်ကန်စွာ ပြန်လည်ရောက်ရှိပါက element ကိုဆက်လက်ထိန်းသိမ်းထားလိမ့်မည်။ အကယ်. မှားယွင်းသော လျှင်, element ကိုဖျက်ပစ်လိမ့်မည်။

 $array = [1, 2, 3, 4, 5];
$result = array_filter($array, function($value) {
    return $value % 2 == 0; // ပင်နံပါတ်များကိုသာထိန်းသိမ်းထားကြသည်
});
print_r($result);

အထက်ဖော်ပြပါကုဒ်သည်ခင်းကျင်းနေသောကိန်းဂဏန်းများအားလုံးကိုစစ်ထုတ်ပြီးနံပါတ်များကိုသာထိန်းသိမ်းထားသည်။ output ရလဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

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

2 ။ array_filter function ကိုအသုံးပြုနည်း

ဒေတာအစုမှသင်အသည်းအသန်ပြုလုပ်ရန်လိုအပ်သည့်အခါသင်သည်အချက်အလက်များကိုအရင် filter လုပ်လေ့ရှိပြီး, ထို့နောက်သက်ဆိုင်ရာဒေတာအပိုင်းကိုလက်ရှိစာမျက်နှာအရေအတွက်နှင့်စာမျက်နှာတစ်ခုချင်းစီတွင်ဖော်ပြထားသောစာမျက်နှာအရေအတွက်ကို အခြေခံ. ရရှိသည်။ ဤတွင် Paging နှင့် Data filtering ပေါင်းစပ်ထားသောဥပမာတစ်ခုဖြစ်သည်။

ဥပမာ - သင့်တွင်အသုံးပြုသူအချက်အလက်ပါ 0 င်သည့်ဒေတာများတပ်ဆင်ထားသည်ဆိုပါစို့။

 // အသုံးပြုသူအချက်အလက်ကိုတုပပါ
$users = [
    ['id' => 1, 'name' => 'Alice', 'age' => 25],
    ['id' => 2, 'name' => 'Bob', 'age' => 30],
    ['id' => 3, 'name' => 'Charlie', 'age' => 35],
    ['id' => 4, 'name' => 'David', 'age' => 40],
    ['id' => 5, 'name' => 'Eve', 'age' => 45],
    ['id' => 6, 'name' => 'Frank', 'age' => 50]
];

// filter အသက်သည်ထက်ကြီးသည်သို့မဟုတ်ညီမျှသည်30အသုံးပြုသူများ
$filteredUsers = array_filter($users, function($user) {
    return $user['age'] >= 30;
});

// Pagination parameters တွေကို
$page = 1; // လက်ရှိစာမျက်နှာ
$perPage = 2; // 每页显示အသုံးပြုသူများ数量

// အဆိုပါ paging ၏ start အနေအထားတွက်ချက်
$start = ($page - 1) * $perPage;

// paging လုပ်ပါ
$pagedUsers = array_slice($filteredUsers, $start, $perPage);

// ရလဒ်ရလဒ်
print_r($pagedUsers);

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်အသက် 30 မပြည့်သေးသောအသုံးပြုသူများကို filter လုပ်ရန် array_filter ကို ပထမ ဦး စွာ အသုံးပြု. Paginate သို့ array_slice ကို သုံးပါ။ စာမျက်နှာတစ်ခုစီတွင်လက်ရှိစာမျက်နှာတစ်ခုဖြစ်သည့်စာမျက်နှာ 1 နှင့်အချက်အလက်များကိုအပိုင်း 2 ပိုင်းစီဖော်ပြထားခြင်းကိုယူဆသည်။ နောက်ဆုံးပေါ် output သည်ဖြစ်သည်။

 Array
(
    [1] => Array
        (
            [id] => 2
            [name] => Bob
            [age] => 30
        )

    [2] => Array
        (
            [id] => 3
            [name] => Charlie
            [age] => 35
        )
)

3 ။ URL အစားထိုးဥပမာ

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် URLs ပါ 0 င်သည့်အချက်အလက်များတွင်စစ်ထုတ်ရန်, သင်၏လျှောက်လွှာတွင် URLs နှင့်ဒေတာများစွာပါ 0 င်ပါက Domain Name ကို M66.net ဖြင့်အစားထိုးလိုပါက၎င်းကိုအောင်မြင်ရန် Array_map ကို သုံးနိုင်သည်။

ကျွန်ုပ်တို့တွင်အောက်ပါ URL အချက်အလက်များရှိသည်ဆိုပါစို့။

 $links = [
    "https://www.example.com/page1",
    "https://www.example.com/page2",
    "https://www.example.com/page3",
    "https://www.anotherdomain.com/page4"
];

// ဒိုမိန်းအမည်ကိုအစားထိုးပါ
$updatedLinks = array_map(function($url) {
    return preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
}, $links);

print_r($updatedLinks);

output ရလဒ်ဖြစ်လိမ့်မည်:

 Array
(
    [0] => https://m66.net/page1
    [1] => https://m66.net/page2
    [2] => https://m66.net/page3
    [3] => https://m66.net/page4
)

အပေါ်ကပြထားတဲ့အတိုင်း URL အားလုံးရဲ့ဒိုမိန်းအမည်အပိုင်းကို M66.net နဲ့အောင်မြင်စွာအစားထိုးလိုက်တယ်။

4 ။ အကျဉ်းချုပ်

array_filter function ကို paging logic ဖြင့်ပေါင်းစပ်ခြင်းအားဖြင့်ဒေတာများကိုထိထိရောက်ရောက်ကာကွယ်နိုင်ပြီးလိုအပ်သည့်အတိုင်း Paginated လုပ်နိုင်သည်။ အကယ်. သင်၏ဒေတာတွင် URLs များပါ 0 င်ပါက domain name ကို URL တွင်ပုံမှန်အသုံးအနှုန်းများဖြင့်အစားထိုးနိုင်သည်။ ဤချဉ်းကပ်နည်းသည်သင့်အား Datasets ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်များနှင့်လျှောက်လွှာစွမ်းဆောင်ရည်နှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေရန်အတွက်ကူညီနိုင်သည်။