လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Array ၏အစိတ်အပိုင်းတစ်ခုထုတ်ယူရန် Array_SLICE ကိုမည်သို့အသုံးပြုရမည်နည်း

Array ၏အစိတ်အပိုင်းတစ်ခုထုတ်ယူရန် Array_SLICE ကိုမည်သို့အသုံးပြုရမည်နည်း

gitbox 2025-05-26

PHP ပရိုဂရမ်တွင်အရေးယူခြင်းသည်အပြောင်းအလဲများကိုထုတ်ယူသောအခါ, Manual Loop traversal သည် cumbersome သာမကအမှားအယွင်းများကိုလည်းကျရောက်စေနိုင်သည်။ ကံကောင်းထောက်မစွာပင် PHP တွင်ဤလုပ်ဆောင်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သော array_slice တွင်တည်ဆောက်ထားသောအလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်တစ်ခုရှိသည်။

array_slice ဆိုတာဘာလဲ။

Array_Slice function သည် array ၏ဖွဲ့စည်းပုံကိုမပြောင်းလဲဘဲခင်းကျင်းသောအရှည်တစ်ခုမှသတ်မှတ်ထားသောအရှည်တစ်ခုမှခင်းကျင်းမှုတစ်ခုမှထုတ်ယူနိုင်သည်။ ၎င်း၏ function ရှေ့ပြေးပုံစံအောက်ပါအတိုင်းဖြစ်သည် -

 array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)
  • $ array : လည်ပတ်ဖို့မူရင်းခင်းကျင်း။

  • $ offset : Extract ၏စတင်ခြင်းသည် (0 မှ စ. အနုတ်လက်ခဏာနံပါတ်များကိုစတင်ခြင်း) ကိုထောက်ပံ့သည်။

  • $ အရှည် - Extract ၏အရှည်ချန်လှပ်ပါက၎င်းကိုပုံမှန်အားဖြင့်ခင်းကျင်းမှုအဆုံးသို့ထုတ်ယူလိမ့်မည်။

  • $ Presentify_Keys : မူရင်းခင်းကျင်းမှု၏သော့ချက်အမည်ကိုဆက်လက်ထိန်းသိမ်းရန်ဖြစ်စေ, Default သို့ Default သည် Re-Index ဖြစ်သည်။

အသုံးပြုမှုဥပမာ

ကျွန်ုပ်တို့တွင်နံပါတ်များပါ 0 င်သည်ဆိုပါစို့။

 $numbers = [10, 20, 30, 40, 50, 60];

ဥပမာ 1 - ဒုတိယ element မှစတင်သော 3 ဆက်တိုက်ဒြပ်စင်ကိုထုတ်ယူပါ

 $slice = array_slice($numbers, 1, 3);
print_r($slice);

ရလဒ်ရလဒ် -

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

မူရင်းခင်းကျင်းမှု၏အညွှန်းကိန်းသည် 1 တွင်စတင်သည်ဆိုသော်လည်း output array ၏အညွှန်းကိန်းသည် 0 တွင်စတင်သည်။

ဥပမာ 2 - array ၏အဆုံးမှ 2 ဒြပ်စင်ကိုထုတ်ယူပါ

 $slice = array_slice($numbers, -2, 2);
print_r($slice);

ရလဒ်ရလဒ် -

 Array
(
    [0] => 50
    [1] => 60
)

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

 $slice = array_slice($numbers, 2, 2, true);
print_r($slice);

ရလဒ်ရလဒ် -

 Array
(
    [2] => 30
    [3] => 40
)

ဤအချိန်တွင်မူရင်းခင်းကျင်းသည့်သော့အမည်ကိုဆက်လက်ထိန်းသိမ်းထားသည်။

အမှန်တကယ်အခြေအနေများနှင့်အတူပေါင်းစပ်: Pagination အကျိုးသက်ရောက်မှု

သင့်တွင်ဒေတာဘေ့စ်တွင်မှတ်တမ်းများကိုကိုယ်စားပြုသောခင်းကျင်းမှုတစ်ခုရှိသည်ဆိုပါစို့။ အကယ်. သင်သည် paging ကိုအကောင်အထည်ဖော်လိုပါကစာမျက်နှာတစ်ခုစီဒေတာ 5 ခုကိုပြသပါ, သင်ဤကဲ့သို့သောရေးနိုင်သည်။

 $allData = range(1, 100); // အာရုံဖော်ခြင်း 1-100 ၏အချက်အလက်
$page = 3; // လက်ရှိစာမျက်နှာနံပါတ်
$perPage = 5; // စာမျက်နှာတစ်ခုစီအတွက်ဒေတာအရေအတွက်
$offset = ($page - 1) * $perPage;

$pageData = array_slice($allData, $offset, $perPage);
print_r($pageData);

Page 3 ဒေတာအဖြစ် output:

 Array
(
    [0] => 11
    [1] => 12
    [2] => 13
    [3] => 14
    [4] => 15
)

မှတ်သားရန်အရာ

  • အကယ်. $ offset သည် အရှည်အရှည်ထက်ကျော်လွန်ပါက array_slice သည် အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့သည်။

  • $ အရှည်သည် အနုတ်လက်ခဏာဖြစ်သည့်အခါသက်ဆိုင်ရာဒြပ်စင်အရေအတွက်ကိုခင်းကျင်းမှုအဆုံးမှဖယ်ထုတ်ထားလိမ့်မည်။

  • Associative Array ကိုဖြတ်တောက်ချိန်တွင် ဒေါ်လာ Presentify_Keys Parameter ကိုဖွင့်ရန်အကြံပြုသည်။

အကျဉ်းချုပ်

Array_Slice သည် PHP တွင်ခင်းကျင်းဖြတ်တောက်ခြင်းကိုကိုင်တွယ်ရန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ရိုးရှင်းပြီးအကျိုးရှိရှိဖြစ်သည်။ ၎င်း၏ parameters တွေကိုကျွမ်းကျင်စွာသင်၏ခင်းကျင်းရေးဆွဲခြင်းပိုမိုပြောင်းလွယ်ပြင်လွယ်နှင့်တိကျမှန်ကန်စေသည်။


 // နမူနာကုဒ်သရုပ်ပြ array_slice အခြေခံအသုံးပြုမှု
$fruits = ['apple', 'banana', 'orange', 'pear', 'grape'];

// ဒုတိယဒြပ်စင်ကနေစတင်3ဒြပ်
$sliced = array_slice($fruits, 1, 3);
print_r($sliced);
 // ပေါင်းစပ်ထားသော URL နမူနာ,ဒါကြောင့်အစားထိုးခံရဖို့ဖြစ်ပါတယ်ယူဆ URL ဒိုမိန်းအမည်ဖြစ်သည် gitbox.net
$url = "https://example.com/path/to/resource";
$modifiedUrl = preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
echo $modifiedUrl; // ထုတ်လုပ်ခြင်း https://gitbox.net/path/to/resource

ဤနည်းအားဖြင့်ဒိုမိန်းအမည်များကိုအစားထိုးသည့် PHP code တွင် PHP code တွင်အလွန်ရိုးရှင်းပြီးလက်တွေ့ကျသည်။