လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Array_Slice function ကိုအသုံးပြုပြီးခင်းကျင်းမှုတစ်ခုမှအစုအဝေးများမှမည်သို့လျင်မြန်စွာကြားဖြတ်နိုင်မည်နည်း။

Array_Slice function ကိုအသုံးပြုပြီးခင်းကျင်းမှုတစ်ခုမှအစုအဝေးများမှမည်သို့လျင်မြန်စွာကြားဖြတ်နိုင်မည်နည်း။

gitbox 2025-05-28

နေ့စဉ် PPP ပရိုဂရမ်တွင်ကျွန်ုပ်တို့သည် subset data များကိုပြသခြင်း, paginate သို့မဟုတ် processing လုပ်ရန်အတွက်ခင်းကျင်းခြင်းမှခင်းကျင်းသောအရာများကိုထုတ်ယူရန်လိုအပ်သည်။ PHP သည်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်မှုကိုထောက်ပံ့ပေးသည် - array_slice () ကို ထောက်ပံ့ပေးသည်။

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) - မူရင်းသော့ချက်အမည်ကိုဆက်လက်ထိန်းသိမ်းရန် ပျက်ကွက်သည် ဖြစ်စေ,

နမူနာရှင်းပြချက်

ဥပမာ 1 - အခြေခံအသုံးပြုမှု

 $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 မှဖော်ပြသောကြောင့်သော့ချက်အမည်များကိုပြန်လည်ပြင်ဆင်ခြင်းကိုသတိပြုပါ။

ဥပမာ 2 - မူရင်းသော့ချက်အမည်ကိုသိမ်းထားပါ

 $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 ကို မှန်ကန်စွာ သတ်မှတ်ထားကြသောကြောင့်မူလခင်းကျင်းသည့်အဓိကအကြောင်းရင်းများကိုထိန်းသိမ်းထားသည်။

ဥပမာ 3: အနုတ် offset

 $numbers = [10, 20, 30, 40, 50];
$sliced = array_slice($numbers, -3, 2);
print_r($sliced);

ထုတ်လုပ်မှု -

 Array
(
    [0] => 30
    [1] => 40
)

array ရဲ့အဆုံးမှာတတိယနောက်ဆုံးဒြပ်စင်ကနေ 2 ကိုကြားဖြတ်ဖို့အနုတ်လက်ခဏာ offset ကိုသုံးပါ။

လက်တွေ့ကျသော application: Pagination အပြောင်းအလဲနဲ့

ဒေတာဘေ့စ်မှဆောင်းပါးခေါင်းစဉ်များစွာပါ 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