PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်အချို့သောဒြပ်စင်အချို့ကိုခင်းကျင်းသောအရာများကိုဖြတ်သန်းမည့်အစားခင်းကျင်းသောအရာများကိုပြုလုပ်ရန်လိုအပ်သည်။ ၎င်းကိုအောင်မြင်ရန် array_slice နှင့် array_map သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်ခင်းကျင်းမှုတစ်ခု၏ထိရောက်စွာပြုပြင်ခြင်းကိုပြုလုပ်နိုင်ရန်နှင့်အမှန်တကယ်ကုဒ်နမူနာများဖြင့်သရုပ်ဖော်နိုင်ကြောင်းဤဆောင်းပါးတွင်အသေးစိတ်ရှင်းပြပါမည်။
Array_Slice ဆိုသည်မှာ PHP မှ PHP မှပေးသော function တစ်ခုဖြစ်ပြီးမူရင်းခင်းကျင်းမှုကိုပြုပြင်မွမ်းမံခြင်းမရှိဘဲခင်းကျင်းမှုတစ်ခုမှခင်းကျင်းမှုတစ်ခုမှထုတ်ယူရန်လုပ်ဆောင်သည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ array : လည်ပတ်ဖို့မူရင်းခင်းကျင်း။
$ offset : အစပြုပြီး offset, အမြီးမှစတင်ညွှန်ပြရန်အနုတ်လက်ခဏာနံပါတ်ဖြစ်နိုင်ပါတယ်။
$ အရှည် - ထုတ်ယူမည့်ဒြပ်စင်အရေအတွက်ကိုချန်လှပ်ထားပါက၎င်းကိုခင်းကျင်းမှုအဆုံးသို့ထုတ်ယူလိမ့်မည်။
$ Present_Keys : မူရင်းခင်းကျင်း၏သော့အမည်ကိုထိန်းသိမ်းရန်ဖြစ်စေ။
Array_map ကို Element တစ်ခုစီတွင်လုပ်ဆောင်ရန်နှင့်လုပ်ငန်းစဉ်အသစ်များကိုပြန်လည်ပြင်ဆင်ထားသော array သို့ပြန်သွားသည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_map(callable $callback, array $array): array
၎င်းသည် array တစ်ခုလုံးကိုဖြတ်ပြီး, element တစ်ခုစီကို callback function ကိုအငြင်းအခုံတစ်ခုအဖြစ်ဖြတ်သန်းသွားပါ။ ရလဒ်ကို array အသစ်တစ်ခုအဖြစ်ပြန်ပို့ပါ။
ကြီးမားသော array များပြုပြင်သည့်အခါကျွန်ုပ်တို့သည် (ဥပမာ - ခြွင်းချက်, ခြွင်းချက်, ခြွင်းချက်အနေဖြင့်) ကိုဖွင့်ရန်အတွက်သာဂရုစိုက်ပါကကျွန်ုပ်တို့သည် array_slicle များကို သုံး. target အပိုင်းကိုထုတ်ယူရန် array_slice ကို အသုံးပြုသည်။
ကျွန်ုပ်တို့တွင်ကုန်ပစ္စည်းများစွာရှိသည်ဆိုပါစို့။ ထုတ်ကုန်တစ်ခုစီသည်တွဲဖက်ခင်းကျင်းသော acray တစ်ခုဖြစ်ပြီးကျွန်ုပ်တို့သာပထမ ဦး ဆုံးထုတ်ကုန်များ၏အမည်များကိုဖော်ထုတ်ရန်နှင့်ရှေ့ဆက်တစ် ဦး ၏အမည်များကိုထည့်သွင်းရန်လိုအပ်သည်ဆိုပါစို့။
<?php
$products = [
['id' => 1, 'name' => 'ကွန်ပျူတာ'],
['id' => 2, 'name' => 'ဆဲလ်ဖုန်း'],
['id' => 3, 'name' => 'နားကြပ်'],
['id' => 4, 'name' => 'ကြွက်'],
['id' => 5, 'name' => 'လက်နှိပ်ခလုတ်ခုံ'],
['id' => 6, 'name' => 'စောင့်ရေှာက်'],
];
// အဲဒါကိုယူပြီးမတိုင်မီ 5 ထုတ်ကုန်
$firstFive = array_slice($products, 0, 5);
// နာမည်ကိုရှေ့ဆက်“ထောက်ခံ:”
$processed = array_map(function($product) {
$product['name'] = 'ထောက်ခံ:' . $product['name'];
return $product;
}, $firstFive);
// ရလဒ်ရလဒ်
foreach ($processed as $item) {
echo $item['id'] . ' - ' . $item['name'] . PHP_EOL;
}
output ရလဒ် -
1 - ထောက်ခံ:ကွန်ပျူတာ
2 - ထောက်ခံ:ဆဲလ်ဖုန်း
3 - ထောက်ခံ:နားကြပ်
4 - ထောက်ခံ:ကြွက်
5 - ထောက်ခံ:လက်နှိပ်ခလုတ်ခုံ
အသုံးပြုသူစာရင်းကိုပြန်လည်ရောက်ရှိသည့် API interface တစ်ခုတွင်ကဲ့သို့သော interface ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤနည်းလမ်းကိုအထူးတွေ့ရလေ့ရှိသည်။
<?php
// အသုံးပြုသူဒေတာရရှိရန် Simulate(ဒေတာဘေ့စကနေနိုင်ပါတယ်)
$users = [
['id' => 101, 'email' => '[email protected]'],
['id' => 102, 'email' => '[email protected]'],
['id' => 103, 'email' => '[email protected]'],
['id' => 104, 'email' => '[email protected]'],
['id' => 105, 'email' => '[email protected]'],
['id' => 106, 'email' => '[email protected]'],
];
// Paging Parameters တွေကိုစာမျက်နှာတစ်ခုချင်းစီပြသထားတယ်လို့ယူဆတယ် 3 ညှစ်ခြင်း,လက်ရှိတွင်ပထမ ဦး ဆုံး 2 စာမျက်နှာ
$page = 2;
$pageSize = 3;
$offset = ($page - 1) * $pageSize;
// 分စာမျက်နှာ获取当前စာမျက်နှာ的数据
$pagedUsers = array_slice($users, $offset, $pageSize);
// စာလုံးအသေးပုံစံအီးမေးလ်လိပ်စာ
$formatted = array_map(function($user) {
$user['email'] = strtolower($user['email']);
return $user;
}, $pagedUsers);
// JSON ထုတ်လုပ်ခြင်း
header('Content-Type: application/json');
echo json_encode($formatted);
ပြန်လာရလဒ်ဖြစ်လိမ့်မည်:
[
{"id":104,"email":"[email protected]"},
{"id":105,"email":"[email protected]"},
{"id":106,"email":"[email protected]"}
]
array_slice နှင့် array_map သုံးခြင်း၏အဓိကအားသာချက်များမှာ -
မလိုအပ်သောတွက်ချက်မှုများကိုရှောင်ကြဉ်ပါ ။ သင်လိုအပ်သည့်အချက်အလက်များ၏အစိတ်အပိုင်းကိုသာလုပ်ဆောင်ပါ။
ယုတ္တိညီမျှမှု - ဒေတာစီစစ်ခြင်းနှင့်ဒေတာပြုပြင်ခြင်းအဆင့်များသည်ရှင်းလင်းပြတ်သားပြီးရှင်းရှင်းလင်းလင်းရှိပြီး code သည်အလွန်အမင်းဖတ်နိုင်သည်။
အားကောင်းသောထိန်းသိမ်းမှု - အနာဂတ်တွင်ယုတ္တိဗေဒကိုပြုပြင်ရန်အဆင်ပြေသည့်အနာဂတ်နှင့်ယုတ္တိဗေဒပြုပြင်ခြင်းစသည့်အနာဂတ်တွင်ယုတ္တိဗေဒတိုးချဲ့ရန်အဆင်ပြေသည်။
ဒေတာအမြောက်အများကိုပြုပြင်သည့်အခါ array_slice နှင့် array_map ကိုအသုံးပြုပြီးစွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေရုံသာမကဗဟုသုတကိုပိုမိုတိကျစွာဖြည့်ဆည်းပေးနိုင်သည်။ နောက်ခံစီမံခန့်ခွဲမှုစနစ်, ဒေတာ interface သို့မဟုတ်အမှန်တကယ်စီးပွားရေးယုတ္တိဗေဒတွင်ဖြစ်စေဤမော်ဒယ်သည်သင်ယူခြင်းနှင့်လျှောက်ထားရန်တန်ဖိုးရှိသည်။