လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အဘယ်ကြောင့် array အရှည်မျှော်လင့်ချက်များနှင့်တွေ့ဆုံရန်မဟုတ်အဘယ်ကြောင့်ရရှိခဲ့သနည်း exploit function ကိုပုံမှန်မဟုတ်သောအရှည်၏ပုံမှန်မဟုတ်သောအကြောင်းရင်းများကိုခွဲခြမ်းစိတ်ဖြာခြင်း

အဘယ်ကြောင့် array အရှည်မျှော်လင့်ချက်များနှင့်တွေ့ဆုံရန်မဟုတ်အဘယ်ကြောင့်ရရှိခဲ့သနည်း exploit function ကိုပုံမှန်မဟုတ်သောအရှည်၏ပုံမှန်မဟုတ်သောအကြောင်းရင်းများကိုခွဲခြမ်းစိတ်ဖြာခြင်း

gitbox 2025-06-08

PHP ၏ exploit () function ကိုအသုံးပြုသောအခါ developer များစွာသည်ရလဒ်ပြင်ဆင်ခြင်းနှင့်မကိုက်ညီသောအခြေအနေများနှင့်မကိုက်ညီသောအခြေအနေများကြုံတွေ့ရနိုင်သည်။ Exploit () function ကို၏ရည်ရွယ်ချက်မှာ string ကိုမျိုးကွဲမျိုးကွဲများကိုခွဲထုတ်ရန်နှင့်ခင်းကျင်းမှုကိုပြန်ပေးရန်ဖြစ်သည်။ သီအိုရီအရ exploit () function သည် string ကိုခွဲခြားထားသည့်အပိုင်းများကိုခွဲခြားသတ်မှတ်ခြင်းနှင့်မှန်ကန်သောအရှည်ခင်းကျင်းမှုကိုပြန်လည်ပေးပို့သင့်သည်။ သို့သော်တခါတရံတွင်နောင်တရသည့်အတန်းအစားအရှည်သည်ကျွန်ုပ်တို့မျှော်လင့်ထားသည့်အတိုင်းမဖြစ်နိူင်ပါ။ ဤဆောင်းပါးသည်များသောအားဖြင့်အကြောင်းရင်းများကိုခွဲခြမ်းစိတ်ဖြာမည့်အသေးစိတ်အချက်အလက်များကြောင့်ဖြစ်သည်။

exploit () function ကိုအခြေခံအသုံးပြုခြင်း

exploit () function ကို၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array explode(string $delimiter, string $string[, int $limit = PHP_INT_MAX])
  • $ delimiter : delimiter, strings split ရန်အသုံးပြုခဲ့သည်။

  • $ string : ခွဲခြားခံရဖို့ string ကို။

  • $ ကန့်သတ်ချက် (optional): ပြန်လာသောခင်းကျင်းအရှည်ကန့်သတ်။ $ ကန့်သတ် မသတ်မှတ်ထားပါကခွဲစိတ်အစိတ်အပိုင်းများအားလုံးကိုပြန်ပို့သည်။

ဥပမာ -

 $string = "apple,banana,orange";
$result = explode(",", $string);
print_r($result);

output ကိုဖြစ်လိမ့်မည်:

 Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

သို့သော်လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်ကျွန်ုပ်တို့ကိုရှုပ်ထွေးစေသောအခြေအနေအချို့နှင့်ကြုံတွေ့ရနိုင်သည်။ ထို့နောက်ကျွန်ုပ်တို့သည်ဘုံအခြေအနေများစွာကိုခွဲခြမ်းစိတ်ဖြာပါမည်။


ဘုံအကြောင်းရင်းခွဲခြမ်းစိတ်ဖြာခြင်း

1 ။ အဆိုပါ delimiter အချည်းနှီးသော string ကိုသို့မဟုတ်မတည်ရှိပါဘူး

အကယ်. $ delimiter သည်အချည်းနှီးသော string တစ်ခုဖြစ်ပါက $ string တွင် $ delimiter မတည်ရှိပါက exploit () function သည်မူရင်း string ကိုပါ 0 င်သည်။ ဥပမာအားဖြင့်:

 $string = "apple,banana,orange";
$result = explode("", $string);  // delimiter is an empty string
print_r($result);

ဤဥပမာတွင် delimiter သည်အချည်းနှီးသော string တစ်ခုဖြစ်သောကြောင့်ပြန်လာသောခင်းကျင်းမှုသည်ဇာတ်ကောင်တစ်ခုစီတွင် Array Element တစ်ခုပါ 0 င်မည်ဖြစ်သည်။

2 ။ အချည်းနှီးသောကြိုးများသို့မဟုတ် whitespace ဇာတ်ကောင်များကိုထုတ်ယူခြင်း

အကယ်. string string string ကိုခွဲထုတ်ရန်သို့မဟုတ် whitespace, line breys စသဖြင့်အက္ခရာများပါ 0 င်သည် ဘာဖြစ်လို့လဲဆိုတော့ string ကိုခွဲခြားရန်ခိုင်လုံသော delimiter မရှိသောကြောင့်ဖြစ်သည်။

 $string = "";
$result = explode(",", $string);
print_r($result);

output ရလဒ် -

 Array
(
    [0] => 
)

အလားတူပင်, string ကို "" " , exploit () ကဲ့သို့သော" "", ",", "ကဲ့သို့သော whitespace ဇာတ်ကောင်များဖြင့်ဖွဲ့စည်းထားလျှင် Whitespactace ဇာတ်ကောင်များကအချည်းနှီးသောကြိုးများပါ 0 င်သောခင်းကျင်းခြင်းများပါ 0 င်သည်။

3 ။ ကန့်သတ် parameters တွေကိုအသုံးပြုခြင်း

ကန့်သတ် parameter သည် exploit () function ကိုအတွက်အလွန်အရေးကြီးသော parameter သည်ဖြစ်ပါတယ်။ $ ကန့်သတ်ချက်ကို သတ်မှတ်ထားပါကပြန်လည်ရောက်ရှိသည့် array အရှည်ကန့်သတ်ချက်ရှိသည်။ ဥပမာအားဖြင့်, $ ကန့်သတ်သည် ကွဲပြားမည့်အစိတ်အပိုင်းများထက်လျော့နည်းသည်။ ခင်းကျင်းမှု၏နောက်ဆုံးအချက်မှာကျန်အစိတ်အပိုင်းများအားလုံးပါ 0 င်မည်ဖြစ်သည်။

 $string = "apple,banana,orange,grape";
$result = explode(",", $string, 3);
print_r($result);

ရလဒ်ရလဒ် -

 Array
(
    [0] => apple
    [1] => banana
    [2] => orange,grape
)

အထက်တွင်ဖော်ပြထားသည့် အတိုင်းချိန် ညှိချက်များကန့်သတ်ချက်များကြောင့်ပြန်လည်နေရာချထားသည့် array တွင်ဒြပ်စင်သုံးခုသာပါဝင်သည်။

4 ။ အမြီးမှာ Separator ရှိတယ်

string တစ်ခု၏အမြီးတွင် Separator တွင်ခွဲထုတ်သည့်အခါ, exploit () သည် အမြီးအချည်းနှီးသော string ကို array ၏ element တစ်ခုအဖြစ်အသုံးပြုလိမ့်မည်။ ဥပမာအားဖြင့် string သည် "Apple, Banana" နှင့် delimiter သည်အဆုံး၌အချည်းနှီးသောအရာတစ်ခုကိုထည့်သွင်း လိမ့် မည်

 $string = "apple,banana,";
$result = explode(",", $string);
print_r($result);

output ရလဒ် -

 Array
(
    [0] => apple
    [1] => banana
    [2] => 
)

ဤကိစ္စတွင်, သင်အချည်းနှီးသောဒြပ်စင်၏အဆုံးကိုမမျှော်လင့်ပါက၎င်းသည်အပိုဒြပ်စင်ကိုခင်းကျင်းမှု၏အရှည်တွင်ထပ်တိုးစေလိမ့်မည်။

5 ။ string ကိုဆက်တိုက် searchator ပါရှိသည်

ကွဲပြားခြားနားသောခွဲခြမ်းစိတ်ဖြာမှုတွင်ခွဲခြမ်းစိတ်ဖြာခြင်းအနေဖြင့်ခွဲခြားထား သည့်ခွဲခြမ်းစိတ်ဖြာခြင်း () ဆက်နွယ်သောခွဲထွက်သူများကိုခွဲခြမ်းစိတ်ဖြာသူများအနေနှင့်ဆက်ဆံသည်။

ဥပမာအားဖြင့်:

 $string = "apple,,banana,,orange";
$result = explode(",", $string);
print_r($result);

output ရလဒ် -

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

ဤနေရာတွင်မျိုးစုံဆက်တိုက်ကော်မာများသည်ခင်းကျင်းရေးတွင်အချည်းနှီးသောဒြပ်စင်များစွာဖြစ်ပေါ်စေသည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    explode