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

array_slice ကိုအသုံးပြုပြီးအကောင်းဆုံးအလေ့အကျင့်များနှင့်စွမ်းဆောင်ရည်အကြံပြုချက်များ

gitbox 2025-05-26

PHP တွင် processing arrays များသည်အလွန်အသုံးများသောအလုပ်ဖြစ်သည်။ array_slice function သည် array တွင်သတ်သတ်မှတ်မှတ်အပိုင်းအစများကိုကြားဖြတ်ရန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည် Pagination Display, Data Segmentation သို့မဟုတ်ခင်းကျင်းမှု၏အစိတ်အပိုင်းတစ်ခုဖြစ်သည်ဖြစ်စေ Array_Slice သည် အလွယ်တကူအရည်အချင်းရှိနိုင်သည်။ ဤဆောင်းပါးသည် array_slice အသုံးပြုမှုဆိုင်ရာအကြံပြုချက်များ, အကောင်းဆုံးအလေ့အကျင့်များနှင့်စွမ်းဆောင်ရည်အကောင်းဆုံးအကြံပြုချက်များကိုအာရုံစိုက်ပါလိမ့်မည်။

1 ။ array_slice ၏အခြေခံအသုံးပြုမှု

array_slice function ကိုအောက်ပါအတိုင်းသတ်မှတ်ထားသည်။

 array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)
  • $ array : ကြားဖြတ်ခံရဖို့ Array

  • $ Offset : Start Position (အနှုတ်လက်ခဏာနံပါတ်များကိုထောကျပံ့,

  • $ အရှည် - ကြားဖြတ်သည့်အရှည် (optional)

  • $ Presentify_keys : မူရင်းခင်းကျင်းမှု၏သော့အမည်ကိုထိန်းသိမ်းရန်ဖြစ်စေ,

ဥပမာ -

 <?php
$arr = [1, 2, 3, 4, 5];
$slice = array_slice($arr, 1, 3);
print_r($slice);
?>

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

 Array
(
    [0] => 2
    [1] => 3
    [2] => 4
)

SESPCRIPS 1 မှစသောဒြပ်စင် 3 ခုရှိသည်။

2 ။ အကောင်းဆုံးအလေ့အကျင့်

1 ။ offset နှင့် အရှည် ၏အဓိပ္ပာယ်ကိုရှင်းလင်းပါ

  • $ offset သည် အပြုသဘောဆောင်သောနံပါတ်ဖြစ်သည့်အခါရာထူးကိုခင်းကျင်းမှု၏အစမှတွက်ချက်သည်။

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

  • $ အရှည်ကို ချန်လှပ်ထားလျှင်သို့မဟုတ် တရားမဝင် လျှင်၎င်းသည်ပုံမှန်အားဖြင့်ခင်းကျင်းမှု၏အဆုံးကိုကြားဖြတ်နေသည်။

ဒီ parameters တွေကိုနားလည်အောင်သေချာအောင်လုပ်ပြီးအနုတ်လက်ခဏာညွှန်းကိန်းတွေကြောင့်ဒေတာကြားဖြတ်အမှားတွေကိုရှောင်ကြဉ်ပါ။

2 ။ သော့အမည်ကိုထိန်းသိမ်းထားသည်ဖြစ်စေသတ်သတ်မှတ်မှတ်လိုအပ်ချက်များပေါ်တွင်မူတည်သည်

ပုံမှန်အားဖြင့် array_slice သည် indexing indexing အတွက်များသောအားဖြင့် ok ဖြစ်ပါသည်, သို့သော် arrays indexing array များအတွက် ok ဖြစ်ပါသည်

 <?php
$assoc = ['a' => 1, 'b' => 2, 'c' => 3];
$slice = array_slice($assoc, 1, null, true);
print_r($slice);
?>

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

 Array
(
    [b] => 2
    [c] => 3
)

3 ။ နယ်စပ်ဖြတ်ကျော်မှုကိုရှောင်ရှားရန် အရေအတွက် () ကို သုံးပါ

Paging အတွက်ဘုံလိုအပ်ချက်မှာစာမျက်နှာနံပါတ်အားဖြင့်ခင်းကျင်းမှုကိုလက်ခံရန်နှင့် array နယ်နိမိတ်ထက်ကျော်လွန်ရန်တားဆီးရန် $ offset နှင့် $ အရှည်ကို တွက်ချက်ရန်ဖြစ်သည်

 <?php
$page = 2;
$pageSize = 3;
$offset = ($page - 1) * $pageSize;
$data = range(1, 10);
$pageData = array_slice($data, $offset, $pageSize);
print_r($pageData);
?>

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

 Array
(
    [0] => 4
    [1] => 5
    [2] => 6
)

3 ။ စွမ်းဆောင်ရည် optimization အကြံပြုချက်များ

1 ။ array_slicle ကို ကြီးမားတဲ့ array များအတွက်အကြိမ်ပေါင်းများစွာမသုံးပါနှင့်

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

2 ။ ကြီးမားသောခင်းကျင်းကြားဖြတ်မည့်အစားမီးစက်ကိုသုံးပါ

ဒေတာ volume သည်အလွန်ကြီးမားပါက Memory စားသုံးမှုကိုလျှော့ချရန်လိုအပ်သော element များကိုတဖြည်းဖြည်းထုတ်လုပ်ရန်မီးစက် ( အထွက်နှုန်း ) ကိုအသုံးပြုပါ။

 <?php
function getSlice($array, $offset, $length) {
    $count = 0;
    foreach ($array as $key => $value) {
        if ($count >= $offset && $count < $offset + $length) {
            yield $key => $value;
        }
        $count++;
        if ($count >= $offset + $length) break;
    }
}

$arr = range(1, 1000000);
$slice = iterator_to_array(getSlice($arr, 1000, 10));
print_r($slice);
?>

၎င်းသည်လိုအပ်သောအစိတ်အပိုင်းများကိုသာထုတ်ပေးသည်။ စွမ်းဆောင်ရည်နှင့်မှတ်ဉာဏ်ဖော်ရွေမှုကိုဖော်ထုတ်စေသည်။

3 ။ cache နှင့်အတူပေါင်းစပ်အတွက်အသုံးပြုပါ

တူညီသောကြီးမားသောခင်းကျင်းမှုမှတူညီသောအပိုင်းအစကိုသင်မကြာခဏကြားဖြတ်လျှင်, ရလဒ်များကို cache ကိုစဉ်းစားပါ။ ထပ်ခါတလဲလဲတွက်ချက်မှုကိုရှောင်ကြဉ်ပါ။

4 ။ ဥပမာရှိ URL domain name ကိုအစားထိုးပါ

တခါတရံတွင်ကျွန်ုပ်တို့သည်ကုဒ်များတွင် URL များကိုလည်ပတ်သည်။ အကယ်. ကျွန်ုပ်တို့သည် Domain Name အစားထိုးလိုအပ်ချက်များကိုကြုံတွေ့ရပါက၎င်းတို့အား string functions များနှင့်ပေါင်းစပ်နိုင်သည်။ ဥပမာတစ်ခုအနေဖြင့် -

 <?php
$url = 'https://example.com/path/to/resource';
$newUrl = preg_replace('#^(https?://)[^/]+#', '$1gitbox.net', $url);
echo $newUrl;
?>

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

 https://gitbox.net/path/to/resource

ဒီကုဒ်သည် URL ၏ domain name ကို GitBox.net နှင့်အတူမဆို domain name ကိုအစားထိုးသည်။