နေ့စဉ် PPP ပရိုဂရမ်တွင်ကျွန်ုပ်တို့သည် subset data များကိုပြသခြင်း, paginate သို့မဟုတ် processing လုပ်ရန်အတွက်ခင်းကျင်းခြင်းမှခင်းကျင်းသောအရာများကိုထုတ်ယူရန်လိုအပ်သည်။ PHP သည်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်မှုကိုထောက်ပံ့ပေးသည် - array_slice () ကို ထောက်ပံ့ပေးသည်။
Array_slice () သည် PHP ရှိ function တစ်ခုဖြစ်ပြီး array တစ်ခုမှခွဲဝေမှုတစ်ခုမှခင်းကျင်းရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်းသည်မူရင်းခင်းကျင်းမှုကိုမပြောင်းလဲပါ။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ array : မူရင်းခင်းကျင်း။
$ offset : ကြားဖြတ်စတင်ရန်ဘယ်မှာ။ အကယ်. ၎င်းသည်အနုတ်လက်ခဏာနံပါတ်ဖြစ်ပါက၎င်းသည်ခင်းကျင်းမှုအဆုံးမှာအပြန်အလှန်ဆက်သွယ်မှုဖြင့်စတင်သည်။
$ အရှည် (optional): ကြားဖြတ်ခံရဖို့ဒြပ်စင်အရေအတွက်။ ချန်လှပ်ပါက၎င်းကို Offset မှခင်းကျင်းမှု၏အဆုံးအထိကြားဖြတ်လိမ့်မည်။
$ Presentify_Keys (optional) - မူရင်းသော့ချက်အမည်ကိုဆက်လက်ထိန်းသိမ်းရန် ပျက်ကွက်သည် ဖြစ်စေ,
$fruits = ['apple', 'banana', 'orange', 'grape', 'melon'];
$sliced = array_slice($fruits, 1, 3);
print_r($sliced);
ထုတ်လုပ်မှု -
Array
(
[0] => banana
[1] => orange
[2] => grape
)
SESSCRIPS 1 မှစတင်. 3 ဒြပ်စင် 3 ဒြပ်စင်များ။ Presentify_Keys မှ false defaults မှဖော်ပြသောကြောင့်သော့ချက်အမည်များကိုပြန်လည်ပြင်ဆင်ခြင်းကိုသတိပြုပါ။
$fruits = ['a' => 'apple', 'b' => 'banana', 'c' => 'orange', 'd' => 'grape'];
$sliced = array_slice($fruits, 1, 2, true);
print_r($sliced);
ထုတ်လုပ်မှု -
Array
(
[b] => banana
[c] => orange
)
ဤတွင်ကျွန်ုပ်တို့သည် PresentNet_Keys ကို မှန်ကန်စွာ သတ်မှတ်ထားကြသောကြောင့်မူလခင်းကျင်းသည့်အဓိကအကြောင်းရင်းများကိုထိန်းသိမ်းထားသည်။
$numbers = [10, 20, 30, 40, 50];
$sliced = array_slice($numbers, -3, 2);
print_r($sliced);
ထုတ်လုပ်မှု -
Array
(
[0] => 30
[1] => 40
)
array ရဲ့အဆုံးမှာတတိယနောက်ဆုံးဒြပ်စင်ကနေ 2 ကိုကြားဖြတ်ဖို့အနုတ်လက်ခဏာ offset ကိုသုံးပါ။
ဒေတာဘေ့စ်မှဆောင်းပါးခေါင်းစဉ်များစွာပါ 0 င်သောခင်းကျင်းမှုတစ်ခုစီကိုဖတ်ရှုပါစို့။
$articles = [
'ဆောင်းပါး1', 'ဆောင်းပါး2', 'ဆောင်းပါး3', 'ဆောင်းပါး4', 'ဆောင်းပါး5',
'ဆောင်းပါး6', 'ဆောင်းပါး7', 'ဆောင်းပါး8', 'ဆောင်းပါး9', 'ဆောင်းပါး10',
'ဆောင်းပါး11', 'ဆောင်းပါး12'
];
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$pageSize = 5;
$offset = ($page - 1) * $pageSize;
$pagedArticles = array_slice($articles, $offset, $pageSize);
foreach ($pagedArticles as $article) {
echo "<p>$article</p>";
}
// နမူနာ paging link
echo '<a href="https://gitbox.net/articles.php?page=1">ရှေ့စာမျက်နှာ</a> ';
echo '<a href="https://gitbox.net/articles.php?page=2">1 ။2စာမျက်နှာ</a> ';
echo '<a href="https://gitbox.net/articles.php?page=3">1 ။3စာမျက်နှာ</a>';
အထက်ပါကုဒ်သည်ရိုးရှင်းသော pagging function ကိုအကောင်အထည်ဖော်ရန်နှင့် pagging link များကိုထုတ်လုပ်ရန် $ _GET parameter နှင့်အတူ array_slice () ကို အသုံးပြုရမည်ကိုပြသသည်။ ဤနေရာတွင် URL သည် gitbox.net domain name ကိုအသုံးပြုသည်ကိုသတိပြုပါ။
Array_slice () သည် incray ကြားဖြတ်လည်ပတ်မှုများကိုကိုင်တွယ်ရန်အတွက်မရှိမဖြစ်လိုအပ်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ပြောင်းလွယ်ပြင်လွယ်, ထိရောက်သောနှင့်အသုံးပြုရန်ရိုးရှင်းပါသည်။ ပြင်ဆင်မှုဖြင့် offset လုပ်ခြင်းနှင့် Presentations PraiseNs Parameterscers များကိုအသုံးပြုရန်အတွက်ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသောအခြေအနေများအပေါ် အခြေခံ. arrays ၏လိုအပ်သောအစုကိုလျင်မြန်စွာရယူနိုင်သည်။ ဒေတာအနှောက်အယှက်ဖြစ်စေခြင်း ,
သက်ဆိုင်သောတက်(ဂ်)များ:
array_slice