PHP တွင် array_slice function ကိုများသောအားဖြင့်ခင်းကျင်းမှုတစ်ခုမှ element တစ်ခု၏အပိုင်းကိုထုတ်ယူရန်အသုံးပြုလေ့ရှိသည်။ ဤဆောင်းပါးသည် array_slice သည် အချည်းနှီးသောခင်းကျင်းမှုများကိုပြန်လည်ရောက်ရှိစေပြီးပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်နှင့်ဖြေရှင်းရန်သက်ဆိုင်ရာအဖြေများပေးသည့်အသေးစိတ်အချက်အလက်များကိုဤဆောင်းပါးတွင်လေ့လာပါလိမ့်မည်။
array_slice ၏ဒုတိယ pareter သည်အစပြုသည်။ အကယ်. ဤတန်ဖိုးသည်ခင်းကျင်းမှု၏အရှည်နှင့်ညီမျှလျှင်, ပြန်လာရလဒ်သည်အချည်းနှီးသောခင်းကျင်းမှုဖြစ်ရမည်။
<?php
$arr = [1, 2, 3, 4, 5];
$result = array_slice($arr, 10); // အဆိုပါ Array အရှည်သာဖြစ်ပါတယ်5,စိတ်တေစေ10အကွာအဝေးထဲက
var_dump($result); // array(0) { }
?>
ဖြေရှင်းချက် - Offset သည်ကျိုးကြောင်းဆီ လျော် သောအကွာအဝေးအတွင်းရှိအကွာအဝေးအတွင်းရှိပြီးသေချာအောင်ပြုလုပ်ပါ။
<?php
$offset = 10;
if ($offset < count($arr)) {
$result = array_slice($arr, $offset);
} else {
$result = []; // စိတ်တေစေ超出,လက်ဖြင့်အချည်းနှီးသောခင်းကျင်းသို့မဟုတ်အခြားအပြောင်းအလဲနဲ့
}
?>
တတိယ parameter သည် အရှည်သည် ထုတ်ယူမည့်ဒြပ်စင်အရေအတွက်ကိုကိုယ်စားပြုသည်။ အကယ်. သတ်မှတ်ထားသောအရှည် 0 ဖြစ်ပါက array_slice သည် အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့သည်။ ထို့အပြင်အနုတ်လက်ခဏာနံပါတ်အရှည်သည် array ၏အဆုံးမှမည်သည့်ဒြပ်စင်မည်မျှဖယ်ထုတ်ထားသည်ကိုညွှန်ပြသည်။
<?php
$arr = [1, 2, 3, 4, 5];
var_dump(array_slice($arr, 2, 0)); // ဗလာခင်း
var_dump(array_slice($arr, 2, -10)); // ဗလာခင်း,အနုတ်လက်ခဏာအရှည်အကွာအဝေးကျော်လွန်
?>
ဖြေရှင်းချက် - အရှည် parameter သည်အကျိုးသင့်အကြောင်းသင့်ရှိကြောင်းသေချာစေရန်သို့မဟုတ်၎င်းကိုတိုက်ရိုက်ချန်လှပ်ထားပါ။
Array_Slice သည် သာ array များကိုသာလုပ်ကိုင်နိုင်သည်။ အကယ်. variable ကိုကျော်လွန်သွားပါကသို့မဟုတ်ခင်းကျင်းမှုတွင်ခင်းကျင်းမှုသည်ဗလာဖြစ်သည်။ ရလဒ်သည်အချည်းနှီးသောခင်းကျင်းမှုတစ်ခုဖြစ်လိမ့်မည်။
<?php
$notArray = null;
var_dump(array_slice($notArray, 0)); // 报错或ဗလာခင်း
$emptyArray = [];
var_dump(array_slice($emptyArray, 0)); // ဗလာခင်း
?>
ဖြေရှင်းချက် - variable ကို array တစ်ခုရှိမရှိစစ်ဆေးပါ။
<?php
if (is_array($arr) && !empty($arr)) {
$result = array_slice($arr, 0);
} else {
$result = [];
}
?>
array_slice သည် Associative Arrays များကိုထုတ်လုပ်သည့်အခါမူရင်းအမည်ကိုဆက်လက်ထိန်းသိမ်းထားသည်။
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3];
$result = array_slice($arr, 1, 1, true);
var_dump($result); // နေဆဲ Associative Array,အဓိကအမည်ကို reserved
?>
အကယ်. Preset_Keys ကို မှားယွင်းစွာ သတ်မှတ်ထားပါကသော့ချက်အမည်ကိုပြန်လည်ဖော်ပြလိမ့်မည်။ များသောအားဖြင့်အချည်းနှီးသောခင်းကျင်းမှုကိုဖြစ်ပေါ်စေလိမ့်မည်မဟုတ်သော်လည်းအညွှန်းကိန်းရှုပ်ထွေးလျှင်သင်အာရုံစိုက်သင့်သည်။
Array_Slice သည် array ၏ပထမဆုံးအလွှာကိုသာကိုင်တွယ်နိုင်ပြီးရှုထောင့်အမျိုးမျိုးတွင်ပိုမိုနက်ရှိုင်းသောအရာများကိုတိုက်ရိုက်ထုတ်ယူ။ မရပါ။ အလွဲသုံးစားမှုကိုအသုံးပြုပါက၎င်းသည်ဗလာကျင်းနေသော array ကိုပြန်ရောက်စေနိုင်သည်။
<?php
$arr = [
['id' => 1, 'name' => 'Tom'],
['id' => 2, 'name' => 'Jerry']
];
$result = array_slice($arr[0], 5, 2); // $arr[0] တစ် ဦး subarray ဖြစ်ပါတယ်,မလုံလောက်အရှည်,返回ဗလာခင်း
?>
ဖြေရှင်းချက် - ပထမအချက်များသည်လိုအပ်ချက်များနှင့်ပြည့်စုံစေရန်သေချာစေရန်အတတ်နိုင်ဆုံးအချပ်များကို ဦး စွာအတည်ပြုပါ။
<?php
$arr = [10, 20, 30, 40, 50];
// အသုံးပြုမှုမှန်ကန်သော:မှ2ဒြပ်စင်ကိုစတင်ပါ3မရေွှးသော
$result = array_slice($arr, 1, 3);
print_r($result); // ထုတ်လုပ်ခြင်း: [20, 30, 40]
// မှားယွင်းသောအသုံးပြုမှု:စိတ်တေစေအကွာအဝေးထဲက,返回ဗလာခင်း
$result = array_slice($arr, 10, 3);
print_r($result); // ထုတ်လုပ်ခြင်း: []
// မှားယွင်းသောအသုံးပြုမှု:အရှည်သည်0,返回ဗလာခင်း
$result = array_slice($arr, 1, 0);
print_r($result); // ထုတ်လုပ်ခြင်း: []
// ဗလာခင်း输入,返回ဗလာခင်း
$result = array_slice([], 0, 1);
print_r($result); // ထုတ်လုပ်ခြင်း: []
?>
array_slice သည် အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေပြီးဘုံအကြောင်းပြချက်များမှာ -
အဆိုပါ offset သည် array အရှည်နှင့်ညီသည်သို့မဟုတ်ညီမျှသည်
အရှည် parameter သည် 0 သို့မဟုတ်အနုတ်လက်ခဏာအရှည်သည်မိုဖြစ်ပါတယ်
အဘယ်အရာကိုကူးယူသောအရာကို array သို့မဟုတ်ခင်းကျင်းအချည်းနှီးဖြစ်ပါတယ်
Multidimensional Arrays ၏အချပ်၏အလွဲသုံးစားမှု
Associative Arrays ကိုအသုံးပြုသည့်အခါသော့အမည်များကိုလျစ်လျူရှုပါ
ဤသော့အချက်များကိုသင်နားလည်နေသမျှကာလပတ်လုံးသင် array_slice ၏ပြ trouble နာကိုအချည်းနှီးသောခင်းကျင်းသောပြ an ရာဝှားကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ parameters တွေကိုကျိုးကြောင်းဆီလျော်ကြောင်းသေချာစေရန်ကုဒ်ရေးသားခြင်းကိုရေးသောအခါပိုမိုလေ့လာပါ။