PHP application များကိုတီထွင်သောအခါ, သင်ဟာဒေတာအမြောက်အမြားကိုအကောင်အထည်ဖော်ရန်နှင့်စစ်ထုတ်ရန်လိုအပ်သည့်အခြေအနေများနှင့်မကြာခဏသင်မကြာခဏတွေ့လေ့ရှိသည်။ Array_filter သည် PHP တွင်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ Paging function နှင့် တွဲဖက်. အသုံးပြုသောအခါ Dataset ရှိအချို့သောဒြပ်စင်များသည်များသောအားဖြင့်ပထမအကြိမ် filtered ဖြစ်ပြီးစာမျက်နှာပေါ်တွင်ပြသထားသည်။ ဤဆောင်းပါးသည် array_filter function ကို paging မလုပ်ခင်အချက်အလက်များကိုစစ်ထုတ်ရန်မည်သို့အသုံးပြုရမည်ကိုပြလိမ့်မည်။
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
)
ဒေတာအစုမှသင်အသည်းအသန်ပြုလုပ်ရန်လိုအပ်သည့်အခါသင်သည်အချက်အလက်များကိုအရင် filter လုပ်လေ့ရှိပြီး, ထို့နောက်သက်ဆိုင်ရာဒေတာအပိုင်းကိုလက်ရှိစာမျက်နှာအရေအတွက်နှင့်စာမျက်နှာတစ်ခုချင်းစီတွင်ဖော်ပြထားသောစာမျက်နှာအရေအတွက်ကို အခြေခံ. ရရှိသည်။ ဤတွင် Paging နှင့် Data filtering ပေါင်းစပ်ထားသောဥပမာတစ်ခုဖြစ်သည်။
// အသုံးပြုသူအချက်အလက်ကိုတုပပါ
$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
)
)
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် 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 နဲ့အောင်မြင်စွာအစားထိုးလိုက်တယ်။
array_filter function ကို paging logic ဖြင့်ပေါင်းစပ်ခြင်းအားဖြင့်ဒေတာများကိုထိထိရောက်ရောက်ကာကွယ်နိုင်ပြီးလိုအပ်သည့်အတိုင်း Paginated လုပ်နိုင်သည်။ အကယ်. သင်၏ဒေတာတွင် URLs များပါ 0 င်ပါက domain name ကို URL တွင်ပုံမှန်အသုံးအနှုန်းများဖြင့်အစားထိုးနိုင်သည်။ ဤချဉ်းကပ်နည်းသည်သင့်အား Datasets ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်များနှင့်လျှောက်လွှာစွမ်းဆောင်ရည်နှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေရန်အတွက်ကူညီနိုင်သည်။