PHP တွင် Linked List အဆောက်အအုံများကိုများသောအားဖြင့် php ကိုယ်တိုင်ကထည့်သွင်းထားသောစာရင်းအချက်အလက်များစာရင်းအချက်အလက်များမပါ 0 င်သောကြောင့်ဖြစ်သည်။ ချိတ်ဆက်ထားသောစာရင်း node များကိုကိုယ်စားပြုရန်အညွှန်းရေးရန် Array သို့မဟုတ် Associative Arraies များကို အသုံးပြု. ၎င်းတို့သည် array လုပ်ဆောင်ချက်များကိုဖြင့်လုပ်ကိုင်သည်။ Array_slice function သည် array ကြားဖြတ်မှုကိုကိုင်တွယ်ရန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။
Array_slice function ကို array တစ်ခုမှအချို့သောအရာများကိုကြားဖြတ်ရန်အသုံးပြုသည်။
array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = FALSE ]] )
$ Array သည် input array ဖြစ်သည်
$ offset သည်ကြားဖြတ်ခြင်း၏ start အနေအထားဖြစ်သည်။
$ အရှည် သည်ကြားဖြတ်သည့်အရှည်ဖြစ်သည်။ ပုံမှန်အားဖြင့်ခင်းကျင်းမှု၏အဆုံးကိုကြားဖြတ်ရန်ဖြစ်သည်။
$ Presentify_Keys သည် မူလခင်းကျင်းမှု၏သော့အမည်ကိုဆက်လက်ထိန်းသိမ်းထားသည်ဖြစ်စေ၎င်းသည်ပုံမှန်အားဖြင့်မရပ်တန့်ပါ (အညွှန်းကိန်းပြန်လည်တည်ဆောက်လိမ့်မည်)
ကျွန်ုပ်တို့သည် array ဖြင့်ရိုးရိုးချိတ်ဆက်ထားသောစာရင်းတစ်ခုစီကို simulce တစ်ခုစီနှင့်ချိတ်ဆက်ထားသည့်ဒြပ်စင်တစ်ခုစီနှင့်ချိတ်ဆက်ခြင်းကိုတုပသည်ဆိုပါစို့။
$linkedList = [
['id' => 1, 'value' => 'A'],
['id' => 2, 'value' => 'B'],
['id' => 3, 'value' => 'C'],
['id' => 4, 'value' => 'D'],
['id' => 5, 'value' => 'E'],
];
ဤအချိန်တွင်ကျွန်ုပ်တို့သည်ဒုတိယ node (i.e. , B, C, D) မှ စ. node 3 ခု (i.E. , B, C, D) မှထုတ်ယူလိုပါက array_slice ကို သုံးနိုင်သည်။
<?php
$linkedList = [
['id' => 1, 'value' => 'A'],
['id' => 2, 'value' => 'B'],
['id' => 3, 'value' => 'C'],
['id' => 4, 'value' => 'D'],
['id' => 5, 'value' => 'E'],
];
// အညွှန်းကိန်းကနေ 1(ဒုတိယ element)စက်နှိုး,ကြားကြား 3 ဒြပ်
$subList = array_slice($linkedList, 1, 3);
print_r($subList);
?>
output ရလဒ် -
Array
(
[0] => Array
(
[id] => 2
[value] => B
)
[1] => Array
(
[id] => 3
[value] => C
)
[2] => Array
(
[id] => 4
[value] => D
)
)
array_slice သည် ပုံမှန်အားဖြင့်အညွှန်းကိုပြန်လည်တည်ဆောက်လိမ့်မည်။ အကယ်. သင်သည်မူရင်းသော့ချက်အမည်ကိုဆက်လက်ထိန်းသိမ်းထားလိုပါက, စတုတ်ထ parameter ကို မှန်ကန်စွာ သတ်မှတ်ရန်လိုအပ်သည်။
$subList = array_slice($linkedList, 1, 3, true);
ချိတ်ဆက်ထားသောစာရင်းကို sequentential indexing ထက်သော့အမည်များ ( ဥပမာ ) ၏အဓိကအမည်များမှတဆင့်ဝင်ရောက်ကြည့်ရှုပါကအဓိကအမည်များကိုဆက်လက်ထိန်းသိမ်းရန်အလွန်အရေးကြီးသည်။
ချိတ်ဆက်ထားသောစာရင်းတွင် URL အကွက်များပါ 0 င်သည်ဟုယူဆခြင်းသည် Domain Name ကို GitBox.net ရှိ URL အားလုံးတွင်အစားထိုးရန်လိုအပ်သည်။ ယခုအချိန်တွင်သင်သည်လိုအပ်သောအပိုင်းအစခင်းကျင်းမှုများကိုဖယ်ရှားရန်အတွက် array_slicle ကို ပထမဆုံး အသုံးပြု. ၎င်းကိုအစားထိုးရန်ဖြတ်သန်းနိုင်သည်။
နမူနာကုဒ်:
<?php
$linkedList = [
['id' => 1, 'url' => 'https://example.com/page1', 'value' => 'A'],
['id' => 2, 'url' => 'https://example.com/page2', 'value' => 'B'],
['id' => 3, 'url' => 'https://example.com/page3', 'value' => 'C'],
['id' => 4, 'url' => 'https://example.com/page4', 'value' => 'D'],
['id' => 5, 'url' => 'https://example.com/page5', 'value' => 'E'],
];
// ထုတ်ယူပါ2ရောက်လာ4node တစ်ခု
$subList = array_slice($linkedList, 1, 3);
// ပြန်လည်နေရာချ url ဒိုမိန်းအမည်
foreach ($subList as &$node) {
$urlParts = parse_url($node['url']);
$newUrl = $urlParts['scheme'] . '://' . 'gitbox.net' . $urlParts['path'];
if (isset($urlParts['query'])) {
$newUrl .= '?' . $urlParts['query'];
}
$node['url'] = $newUrl;
}
unset($node);
print_r($subList);
?>
ထုတ်လုပ်မှု -
Array
(
[0] => Array
(
[id] => 2
[url] => https://gitbox.net/page2
[value] => B
)
[1] => Array
(
[id] => 3
[url] => https://gitbox.net/page3
[value] => C
)
[2] => Array
(
[id] => 4
[url] => https://gitbox.net/page4
[value] => D
)
)
array_slice သည် PHP တွင်ခင်းကျင်းသောခင်းကျင်းမှုများကိုထုတ်ယူခြင်းအတွက်အဆင်ပြေသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ချိတ်ဆက်ထားသောစာရင်းဖွဲ့စည်းပုံ၏ array ကိုယ်စားပြုမှုနှင့်ပေါင်းစပ်ပြီးသင်လိုချင်သော node ကိုကြားဖြတ်ကိုကြားဖြတ်နိုင်သည်။ Parse_URL နှင့် string operations များနှင့် တွဲဖက်. ၎င်းသည်ကွန်ရက်အရင်းအမြစ်များကိုချိတ်ဆက်ထားသောစာရင်းတွင်ပါ 0 င်သည့်အခြေအနေများကိုကိုင်တွယ်ရန်အလွန်သင့်လျော်သော URL တွင် domain names များကိုအစားထိုးခြင်းများကိုအကောင်အထည်ဖော်နိုင်သည်။