လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MB_Get_info ကို MB_Strlen ကို MB_Strlen နှင့်ပေါင်းစပ်ပြီး string ကိုရှာဖွေတွေ့ရှိရန်

MB_Get_info ကို MB_Strlen ကို MB_Strlen နှင့်ပေါင်းစပ်ပြီး string ကိုရှာဖွေတွေ့ရှိရန်

gitbox 2025-05-11

PHP တွင် (တရုတ်, ဂျပန်ဘာသာ, ကိုရီးယား, ကိုးရီးယားစသဖြင့်) Multibyte strings များ (တရုတ်, ဂျပန်, ကိုးရီးယားစသည်တို့) ကို PHP တွင်ပြုလုပ်သောအခါ (ဥပမာ strlen ကဲ့သို့) ကိုအသုံးပြုသည်။ ဘာဖြစ်လို့လဲဆိုတော့ဒီလုပ်ဆောင်ချက်တွေကိုအက္ခရာများထဲမှာမဟုတ်ဘဲ bytes ထဲမှာတွက်ချက်ထားလို့ပဲ။ ဤအချိန်တွင်ကျွန်ုပ်တို့သည်ပိုမိုတိ ကျသော string operations များအောင်မြင်ရန် PHP ၏ multibyte string extension (Mbstring) တွင် function များကိုအသုံးပြုရန်လိုအပ်သည်

ဤဆောင်းပါးသည်သင့်အား MB_strlen နှင့် MB_Get_info ၏အခြေခံအသုံးပြုမှုကိုယူဆောင်လာပြီး Multibyte Strings ၏အရှည်ကိုတိကျစွာစစ်ဆေးရန်သူတို့မည်သို့ကူညီပေးကြောင်းသရုပ်ဖော်ရန်ဥပမာသုံးပါလိမ့်မည်။

1 ။ strlen ကို တိုက်ရိုက်မသုံးနိုင်တာလဲ

ရိုးရှင်းတဲ့ဥပမာတစ်ခုကိုကြည့်ရအောင်။

 $str = "မင်္ဂလာပါ,ကမ်ာဘ";
echo strlen($str);  // ထုတ်လုပ်ခြင်း:15

ဤ string တွင်တရုတ်အက်ခရာ 5 လုံးသာရှိသည်။ Strlen သည် "byte နံပါတ်" ကိုရေတွက်သည်။

အကယ်. ကျွန်ုပ်တို့သည်ဇာတ်ကောင်များ၏စစ်မှန်သောစာလုံးအရေအတွက်ကိုရလိုပါက MB_strinlen ကို အသုံးပြုသင့်သည်။

 echo mb_strlen($str);  // ထုတ်လုပ်ခြင်း:5

ဤနည်းဖြင့်ကျွန်ုပ်တို့သည်မှန်ကန်သောစာလုံးအရေအတွက်ကိုရရှိသည်။

2 ။ တိကျမှန်ကန်စွာတွက်ချက်ရန် MB_strlen ကို သုံးပါ

MB_Strlen သည် Multibyte ဇာတ်ကောင်များအတွက်အထူးဒီဇိုင်းပြုလုပ်ထားသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။

 int mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )
  • $ str : အရှည်တိုင်းတာရန် string ကို

  • $ encoding : optionaling, encoding type ကို MB_Internal_encoding () မှ ပြန်လာသော encoding ကိုအသုံးပြုရန် default ကိုသတ်မှတ်ပါ။

ဥပမာ -

 $str = "အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည် https://gitbox.net";
$length = mb_strlen($str, 'UTF-8');
echo "ဇာတ်ကောင်အရှည်သည်:$length";

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

 ဇာတ်ကောင်အရှည်သည်:18

ဤသည်မှန်ကန်စွာက "ဇာတ်ကောင်အရေအတွက်" ကိုရောနှောထားသောတရုတ်နှင့်အင်္ဂလိပ် strings များတွင် bytes အရေအတွက်မဟုတ်ဘဲပေါင်းစပ်ထားသည်။

3 ။ encoding information ရရှိရန် MB_GEGET_INFO ကို မည်သို့အသုံးပြုရမည်နည်း။

MB_Get_info သည် သင့်အားလက်ရှိ Mbstring Configuration, အထူးသဖြင့်အတွင်းပိုင်း encoding method ကိုနားလည်ရန်ကူညီနိုင်သည်။

 $info = mb_get_info();
print_r($info);

ရလဒ်ဥပမာ:

 Array
(
    [internal_encoding] => UTF-8
    [http_input] => pass
    [http_output] => pass
    [language] => neutral
    [encoding_translation] => 0
    ...
)

၎င်းသည် UTF-8 encoding ကိုလက်ရှိအသုံးပြုနေသည်ဟုဆိုထားသည်။ MB_strlen တွက်ချက်မှုရလဒ်များသည်မတိကြောင်းသင်တွေ့ရှိပါကအတွင်းပိုင်း encoding ကိုမှန်ကန်စွာသတ်မှတ်ထားခြင်းရှိမရှိစစ်ဆေးရန်အထောက်အကူပြုသည်။

တိကျသောသတင်းအချက်အလက်များကိုပြန်ပို့ရန်လည်းသင်သတ်မှတ်နိုင်သည်။

 echo mb_get_info("internal_encoding");  // ထုတ်လုပ်ခြင်း:UTF-8

4 ။ အကြံပြုချက်များ - ပုံမှန် encoding ကိုသတ်မှတ်ပါ

ပြ problems နာများကိုရှောင်ရှားရန် default Multibyte encoding ကို script ၏အစတွင်သတ်မှတ်ရန်အကြံပြုသည်။

 mb_internal_encoding("UTF-8");

MB_Strlen , MB_StrClen နှင့်အခြားလုပ်ဆောင်မှုများကဲ့သို့သောလုပ်ဆောင်မှုများသည် UTF-8 တွင်ကြိုးကြိုးများပြုလုပ်ရန် UTF-8 တွင် encoded ဖြစ်သည်။