PHP တွင် array_slice function သည်ခင်းကျင်းမှုတစ်ခုမှအပိုင်းအစတစ်ခုကိုထုတ်ယူရန်အသုံးပြုသောအသုံးများသော function တစ်ခုဖြစ်သည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ array : input array ။
$ offset : အစအနေအထားကအပြုသဘောဆောင်တဲ့နံပါတ်ဖြစ်ရင်, က array ရဲ့ ဦး ခေါင်းကနေရေတွက်တယ်ဆိုရင်, အကယ်. ၎င်းသည်အနှုတ်လက်ခဏာနံပါတ်တစ်ဖြစ်ပါက၎င်းသည်ခင်းကျင်းမှု၏အမြီးမှရေတွက်ခြင်းကိုဆိုလိုသည်။
$ အရှည် - ကြားဖြတ်၏အရှည်သည်ပုံမှန်အားဖြင့်ခင်းကျင်းမှု၏အဆုံးသို့ရောက်သွားသည်။
$ Presentify_Keys : မူရင်းခင်းကျင်းမှု၏သော့အမည်ကိုဆက်လက်ထိန်းသိမ်းရန်ရှိမရှိကိုပုံမှန်အားဖြင့်မထိန်းသိမ်းထားပါ။
ဤဆောင်းပါးသည် $ offset parray အရှည်ထက်ကျော်လွန်သောအခါ array_slice function ၏အပြုအမူကိုအာရုံစိုက်သည်။
ခင်းကျင်းမှုတစ်ခုရှိတယ်ဆိုပါစို့။
$arr = [10, 20, 30, 40, 50];
အဆိုပါ Array အရှည် 5 ဖြစ်ပါတယ်။ ငါတို့ခေါ်ဆိုမယ်ဆိုရင်
$result = array_slice($arr, 10);
ဤတွင် $ offset = 10 , အများဆုံးအညွှန်းကိန်း 4 (အညွှန်းကိန်းမှအရေအတွက်ကရေတွက်) ဒီတော့ array_slice ပြန်လာမှာဘာရလဒ်ရမလဲ။
PHP တရားဝင်စာရွက်စာတမ်းများနှင့်အမှန်တကယ်စမ်းသပ်မှုများအရ -
$ offset သည် array ၏အရှည်ထက်ကြီးသည်သို့မဟုတ်ညီမျှသောအခါ array_slice သည် အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့သည်။
ဘာဖြစ်လို့လဲဆိုတော့အစအနေအထားကခင်းကျင်းမှုနယ်နိမိတ်ထက်ကျော်လွန်ပြီးဒြပ်စင်ကိုကြားဖြတ်လို့မရဘူး။
နမူနာကုဒ်:
$arr = [10, 20, 30, 40, 50];
// offset ကျော်လွန်အရှည်
$result = array_slice($arr, 10);
var_dump($result);
ထုတ်လုပ်မှု -
array(0) {
}
တစ် ဦး အချည်းနှီးသောခင်းကျင်းပြန်လည်ကြွလာ။
အကယ်. ၎င်းသည်အနုတ် $ offset ဖြစ်လျှင်ဥပမာ -
$result = array_slice($arr, -10);
ယခုအချိန်တွင် PHP သည် array ၏အဆုံးတွင် 10 ကြိမ်မြောက်အဆုံးဒြပ်စင်ကနေကြားဖြတ်လိမ့်မည်။ Array တွင်ဒြပ်စင် 5 ခုသာရှိသည်။ -10 သည်အမှန်တကယ် 0 (Start Position) နှင့်တူညီသည်။
code တွင်ဒေတာများကိုတောင်းခံရန်အတွက် URL ကို Gitbox.net အစားထိုးရန်လိုအပ်သည်ဟုယူဆပါကဥပမာမှာအောက်ပါအတိုင်းဖြစ်သည် -
<?php
// တစ်ခုခင်းကျင်းသတ်မှတ်ခြင်း
$data = [1, 2, 3, 4, 5];
// offset ကျော်လွန်အရှည်
$slice1 = array_slice($data, 10);
var_dump($slice1); // ရလဒ်တစ်ခုအချည်းနှီးသောခင်းကျင်းဖြစ်ပါတယ်
// offset ဒါဟာအနုတ်လက်ခဏာနံပါတ်ဖြစ်ပါတယ်,array အရှည်ထက်ပို
$slice2 = array_slice($data, -10);
var_dump($slice2); // တစ်ခုလုံးကိုခင်းကျင်းပြန်လာပါ
// ဥပမာဆက်သွယ်မှု API(ယူဆချက် URL)
$url = "https://api.gitbox.net/v1/data";
$response = file_get_contents($url);
echo $response;
?>
array_slice ၏ $ offset parameter သည်ခင်းကျင်း၏အရှည်ထက်ကျော်လွန်သောအခါ function ကိုအချည်းနှီးသောခင်းကျင်းပြန်ဖြစ်လာသည်။
အကယ်. အနုတ် လက်ခဏာ နံပါတ်သည်အရှည်ထက်ကျော်လွန်ပါက၎င်းသည်ခင်းကျင်းမှု၏အစမှပြန်လာလိမ့်မည်။ အမှန်တကယ်အကျိုးသက်ရောက်မှုသည်ခင်းကျင်းတစ်ခုလုံးကိုပြန်လည်ရယူရန်ဖြစ်သည်။
၎င်းကိုအသုံးပြုခြင်းကိုအသုံးပြုသောအခါမလိုအပ်သောအချည်းနှီးသောရလဒ်များကိုရှောင်ရှားရန်အမှန်တကယ်လိုအပ်ချက်များနှင့်အညီ $ offset ကို သတ်မှတ်သင့်သည်။
array_slice ကို ဤနည်းဖြင့်နားလည်ခြင်းနှင့်အသုံးပြုခြင်းကိုဤနည်းဖြင့်ပြုလုပ်သောယုတ္တိရှိသည့်ပြ problems နာများကိုလည်းဤနည်းဖြင့်တားမြစ်ထားသောပြ problems နာများကိုရှောင်ရှားနိုင်ပြီးပရိုဂရမ်၏ကြံ့ခိုင်မှုကိုသေချာစေသည်။