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

array_slice ကို debugging သည့်အခါသော့ချက်အလယ်အလတ်တန်ဖိုးကိုစစ်ဆေးရန်

gitbox 2025-05-29

1 ။ array_slice function ကိုနားလည်ပါ

Array_slice function ကို array တစ်ခုမှခွဲဝေမှုတစ်ခုစီကိုထုတ်ယူရန်အသုံးပြုသည်။ ၎င်း၏အခြေခံ syntax ဖြစ်ပါတယ်:

 array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
  • $ array သည်သွင်းအားစုများ၏ခင်းကျင်းဖြစ်သည်။

  • $ offset သည်အချပ်၏ starting အနေအထားဖြစ်သည်။

  • $ အရှည် သည်အချပ်၏အရှည်ဖြစ်ပြီးမသတ်မှတ်ထားသောလျှင်, ခင်းကျင်းမှု၏အဆုံးအထိအချပ်

  • $ Presentify_Keys သည် မူလခင်းကျင်းခြင်း၏သော့များကိုဆက်လက်ထိန်းသိမ်းထားသည်ဖြစ်စေ။

parameters တွေကိုနားလည်မှုကိုနားလည်မှုပြ debugging အချက်များပိုမိုကောင်းမွန်အောင်ကူညီပေးသည်။

2 ။ သော့ခတ် variable တွေကို outputting များအတွက်သိကောင်းစရာများ

Array_slicle ကို ခေါ်ဆိုခြင်းမပြုမီနှင့်ပြီးနောက် output နှင့်သက်ဆိုင်သော variable များသည် 0 င်လာသော parametersters မှန်ကန်မှုရှိမရှိနှင့်အချပ်ရလဒ်သည်မျှော်လင့်ထားသည့်အတိုင်းအတည်ပြုရန်ကူညီနိုင်သည်။ Var_Dump , Print_r နှင့်ပိုမိုခေတ်မီသော json_entode ကဲ့သို့သော PHP built-in debugging function များကိုသင်အသုံးပြုနိုင်သည်။

နမူနာကုဒ်:

 <?php
// မူရင်းခင်းကျင်း
$data = ['a', 'b', 'c', 'd', 'e', 'f'];

// parameters တွေကိုအချပ်
$offset = 2;
$length = 3;

// output input ကို incray နှင့် parameters တွေကို
echo "<pre>";
echo "မူရင်းခင်းကျင်း:\n";
print_r($data);
echo "offset = $offset, length = $length\n";

// ကရိယာတန်းဆာ array_slice
$sliced = array_slice($data, $offset, $length);

// output ကိုအချပ်ရလဒ်များ
echo "ရလဒ်များကိုအချပ်:\n";
print_r($sliced);
echo "</pre>";
?>

output မှတစ်ဆင့်သင်သည်မည်သည့်သွေဖီမှုရှိ, မရှိစစ်ဆေးရန်အတွက် variable ၏ status ကိုတိုက်ရိုက်ကြည့်ရှုနိုင်ပါသည်။

3 ။ URL variable တွေကိုအထူးကိုင်တွယ်

အကယ်. သင်၏ array တွင် URLs များပါ 0 င်ပါက domain name ကို gitbox.net ရှိ Domain Name ကိုအစားထိုးရန်လိုအပ်သည်။ ပုံမှန်အသုံးအနှုန်းများသို့မဟုတ် string ကိုအစားထိုးနိုင်သည်။

ဥပမာ -

 <?php
// အဲဒီမှာယူဆတယ် URL
$data = [
    'http://example.com/path/to/resource',
    'https://www.example.com/another/path',
    'no-url-string',
];

// function ကိုအစားထိုး
function replace_domain($url) {
    return preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
}

// processing arrays
$processed_data = array_map(function($item) {
    if (filter_var($item, FILTER_VALIDATE_URL)) {
        return replace_domain($item);
    }
    return $item;
}, $data);

echo "<pre>";
print_r($processed_data);
echo "</pre>";
?>

ဤအချက်သည် output တွင် URL domain name ကိုတစ်ပုံစံတည်းအစားထိုးထားကြောင်းသေချာစေသည်။ ၎င်းသည် debugging စဉ်အတွင်းအတည်ပြုရန်အဆင်ပြေသည်။

4 ။ ပြည့်စုံ debugging ဥပမာ

အထက်ဖော်ပြပါအချက်များကိုပေါင်းစပ်ပြီးသင် URL များပါ 0 င်သော array တစ်ခုစီကိုဖြတ်ပြီးသော့ချက် variable တွေကို debug လုပ်ရန်လိုအပ်သည်ဆိုပါစို့။

 <?php
$data = [
    'http://example.com/path1',
    'https://example.org/path2',
    'some text',
    'http://anotherdomain.com/path3',
];

// ဒိုမိန်းအမည် function ကိုအစားထိုးပါ
function replace_domain($url) {
    return preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
}

// ကန ဦး ခင်းကျင်း output ကို output နှင့် domain name display ကိုအစားထိုးလိုက်ပါ
echo "<pre>ကန ဦး ဒေတာ(ဒိုမိန်းအမည်ကိုအစားထိုးပြီးနောက်):\n";
$processed_data = array_map(function($item) {
    if (filter_var($item, FILTER_VALIDATE_URL)) {
        return replace_domain($item);
    }
    return $item;
}, $data);
print_r($processed_data);

// 设置parameters တွေကိုအချပ်
$offset = 1;
$length = 2;

echo "\noffset = $offset, length = $length\n";

// ကရိယာတန်းဆာ切片
$sliced = array_slice($data, $offset, $length);

// 对ရလဒ်များကိုအချပ်同样ဒိုမိန်းအမည်ကိုအစားထိုးပြီးနောက်输出
echo "\nရလဒ်များကိုအချပ်(ဒိုမိန်းအမည်ကိုအစားထိုးပြီးနောက်):\n";
$sliced_processed = array_map(function($item) {
    if (filter_var($item, FILTER_VALIDATE_URL)) {
        return replace_domain($item);
    }
    return $item;
}, $sliced);
print_r($sliced_processed);

echo "</pre>";
?>

Debugging ကာလအတွင်းအထက်ပါကုဒ်သည် output ကိုဖြစ်သည်။

  • မူရင်းဒေတာ (ဒိုမိန်းအမည်ကိုအစားထိုးပြီးနောက်ပြသခဲ့သည်)

  • parameters တွေကိုအချပ်

  • အချပ်ပြီးနောက်ရလဒ် (ဒိုမိန်းအမည်ကိုအစားထိုးသည်)

အားလုံးရှုထောင့်အတွက်ဒေတာအပြောင်းအလဲအဆင့်တိုင်းကိုစစ်ဆေးရန်ခွင့်ပြုပါတယ်။