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

str'split နှင့် mb_str_split အကြားခြားနားချက်နှင့်အသုံးပြုမှုမြင်ကွင်းများ

M66 2025-05-28

PHP တွင် strings များကိုပြုပြင်သည့်အခါကျွန်ုပ်တို့သည် strings ကို arrays ထဲသို့ခွဲရန်လိုအပ်သည်။ PHP သည်ဤအလုပ်ကိုပြီးမြောက်စေရန်အသုံးပြုသောလုပ်ဆောင်ချက်များကိုအသုံးပြုသည်။ strus_split () နှင့် mb_str_split () ။ သူတို့ကအလားတူတစ်ခုခုလုပ်ပုံရပေမယ့်သူတို့ကအရမ်းကွဲပြားတယ်။ ထို့နောက်ကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်ချက်နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုခွဲခြမ်းစိတ်ဖြာပါမည်။

1 ။ stract_split () function ကို

strow_split () လုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသောအရှည်အလွှာအလွှာခင်းတစ်ခုထဲသို့ string တစ်ခုသို့ခွဲထားသည်။ ၎င်း၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 $string = "HelloWorld";
$result = str_split($string, 2);
print_r($result);

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

 Array
(
    [0] => He
    [1] => ll
    [2] => oW
    [3] => or
    [4] => ld
)

အပေါ်ကပြထားတဲ့အတိုင်း strat_split () function ဟာ string ကိုအပိုင်းတစ်ခုစီရဲ့အရှည်ကိုသတ်မှတ်ခြင်းအားဖြင့်အပိုင်းအစတွေကိုအပိုင်းပိုင်းခွဲလိုက်တယ်။ ပုံမှန်အားဖြင့် strow_split () ဇာတ်ကောင်တစ် ဦး အားဖြင့်ကွဲကွာနေသည်။

သို့သော် strip_split () သည် bytes အပေါ် အခြေခံ. ကွဲပြားသည်, ဆိုလိုသည်မှာ UTF-8 encoded ဇာတ်ကောင်များကဲ့သို့သော Multibyte ဇာတ်ကောင်များနှင့်မဖော်ရွေပါ။ အကယ်. သင်၏ string တွင်တရုတ်သို့မဟုတ်အခြား ascii မဟုတ်သောဇာတ်ကောင်များကဲ့သို့သော Multibyte စာလုံးများပါ 0 င်ပါက strow_split () ၏အပြုအမူသည်မမျှော်လင့်သောရလဒ်များဖြစ်နိုင်သည်။

2 ။ mb_str_split () function ကို

strow_split () , mb_str_split နှင့်နှိုင်းယှဉ်ပါက MB_Str_Split () သည် Multibyte အက္ခရာများကိုပြုပြင်ရန်ပိုမိုသင့်တော်သည်။ ဤလုပ်ဆောင်ချက်သည် PHP ၏ Multi-byte string extension (Mbstring) နှင့် UTF-8-encoded strings များကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည်။

 $string = "မင်္ဂလာပါ,ကမ်ာဘ";
$result = mb_str_split($string, 2, "UTF-8");
print_r($result);

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

 Array
(
    [0] => ခင်ဗျားတို့
    [1] => ကောင်းသော
    [2] => ,
    [3] => ကမ်ာဘ
    [4] => နယ်နိမိတ်
)

ဤဥပမာတွင် mb_str_sploplit () function သည် distes ဖြင့် distrings များဖြင့် disties disties disties များထက် disties divate လုပ်သည်။

3 ။ str'split () နှင့် mb_str_split အကြားခြားနားချက် () နှင့် mb_str_split အကြားခြားနားချက် ()

သီးခြားထင်ရှားသော strow_split () mb_str_split ()
လုပ်ငန်းများ၌ဇာတ်ကောင်အမျိုးအစားများ bytes အားဖြင့်ခွဲ (ASCII ဇာတ်ကောင်များအတွက်သင့်လျော်) စာလုံးအ 0 င် (byte အက္ခရာများအတွက်သင့်လျော်သော, UTF-8 နှင့်အခြား encoding)
ကြည့်ရှုပါ သာ ASCII ဇာတ်ကောင်များသာပါရှိသောကြိုးများအတွက်သင့်လျော်သော Multibyte ဇာတ်ကောင်များပါ 0 င်သည့်စကားလုံးများ (ဥပမာတရုတ်, ဂျပန်, စသည်)
အဆိုပါ function ကို extension ကိုအတွက်တည်ရှိသည် PHP Built-in လုပ်ဆောင်ချက်များကို Mbstring extension ကို install လုပ်ရန်နှင့် enable လုပ်ရန်လိုအပ်သည်

4 ။ ဘယ်အချိန်မှာ MB_Str_Split () ကို ဘယ်အချိန်မှာ သုံးရမလဲ။

  • ASCII ကြိုးများနှင့်သာသက်ဆိုင်ပါက ၎င်းသည် stret_split ကိုသုံးရန်သင့်လျော်သည်။

  • အကယ်. သင်၏ string တွင် Multibyte ဇာတ်ကောင်များပါ 0 င်ပါ က MB_Str_Split () ကို သုံးသင့်သည်။ Multibyte စာလုံးများကိုတစ် ဦး ချင်းစီကိုတစ် ဦး ချင်းစီကိုမှားယွင်းစွာခွဲထုတ်ခြင်းမရှိဘဲဇာတ်ကောင်များဖြင့်မှန်ကန်စွာခွဲထွက်လိမ့်မည်။

5 ။ ကိုအသုံးပြုသည့်အခါမှတ်ချက်ပြုခံရဖို့ပြ issues နာများ

  1. Mbstring extension များကို install လုပ်ပြီး enable လုပ်ပါ
    MB_Str_Split () သည် Mbstring extension တွင် function တစ်ခုဖြစ်ပြီး၎င်းကိုအသုံးမပြုမီ PHP သည် Mbstring extension ကို install လုပ်ပြီးသေချာအောင်ပြုလုပ်ရန်လိုအပ်သည်။ သင်က install လုပ်မရှိမရှိကိုစစ်ဆေးနိုင်သည်။

     php -m | grep mbstring
    

    install မလုပ်ပါက၎င်းကိုအောက်ပါ command မှတဆင့် install လုပ်နိုင်သည်။

     sudo apt-get install php-mbstring
    
  2. စွမ်းဆောင်ရည်ကွဲပြားခြားနားမှု <br> mb_str_split () Multibyte စာလုံးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သော်လည်း၎င်းသည်စွမ်းဆောင်ရည်တွင်အနည်းငယ်နိ မ့ ်ကျနိုင်သည်။ ၎င်းသည်စွမ်းဆောင်ရည်တွင်အနည်းငယ်နိမ့်ကျနိုင်သည်။

6 ။ နမူနာကုဒ်

ကျွန်ုပ်တို့တွင် URL ပါ 0 င်သည့် url ပါ 0 င်သည့် string တစ်ခုရှိသည်ဆိုပါစို့။ ဤဥပမာတွင်ကျွန်ုပ်တို့သည် string ကိုအက္ခရာများမှန်ကန်စွာခွဲခြားရန်သေချာစေရန် MB_Str_Split () ကို သုံးမည်။

 // မူရင်း string ကို
$url = "https://www.example.com/path/to/resource";

// ဒိုမိန်းအမည်ကိုအစားထိုးပါ
$parsed_url = parse_url($url);
$domain = "m66.net"; // ဒိုမိန်းအမည်အသစ်
$new_url = str_replace($parsed_url['host'], $domain, $url);

// ဇာတ်ကောင်အသစ်များကိုအက်ခရာအသစ်များခွဲပါ URL
$result = mb_str_split($new_url, 3, "UTF-8");

print_r($result);

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