လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အချည်းနှီးသော string ကိုကြုံတွေ့ရသောအခါ MB_substr_Coint ပြန်လာမည်နည်း။ ရလဒ်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ကြိုတင်ကာကွယ်မှုများ

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

gitbox 2025-09-02

PHP တွင် MB_Substr_count function ကိုအခြား substring သည် string တစ်ခုတွင်အကြိမ်အရေအတွက်ကိုတွက်ချက်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည် UTF-8 encoding ကဲ့သို့သော multibyte ဇာတ်ကောင်များပါ 0 င်သည့်ကြိုးများပါ 0 င်ရန်အထူးအသုံးပြုသော Multibyte String extension (Mbstring) ၏အစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ Subsub_count နှင့်မတူဘဲ MB_Substr_Count သည် Multibyte ဇာတ်ကောင်များထုတ်လုပ်သည့်အခါစာလုံးအရေအတွက်ကိုမှန်ကန်စွာတွက်ချက်နိုင်သည်။

သို့သော်ကျွန်ုပ်တို့သည် MB_Substr_Count ကို အသုံးပြု. အချည်းနှီးသောကြိုးများကို parameter တစ်ခုအဖြစ်ဖြတ်သန်းသွားသောအခါရလဒ်ကိုမည်သို့အကျိုးပြုမည်နည်း။ ဤဆောင်းပါးသည်အချည်းနှီးသော string ကိုကြုံတွေ့ရသောအခါ MB_Substrountratount function ၏အပြုအမူကိုခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။

mb_substr_count function ကိုအခြေခံအသုံးပြုခြင်း

MB_Substr_Count ၏ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_substr_count</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>);
</span></span>
  • $ haystack : ရှာဖွေသောပစ်မှတ် string ကို။

  • $ အပ် - ပစ်မှတ် string ကိုရှာဖွေရန်အလွှာ။

  • $ encoding : optional parameter, ဇာတ်ကောင် encoding ကိုသတ်မှတ်ပါ။ Internal character encoding ကိုပုံမှန်အားဖြင့်အသုံးပြုသည်။

ဒီ function ကို $ haystack အတွက် အကြိမ်အရေအတွက်ကိုပြန်ရပါတယ်။ ** $ haystack ** ။

1 ။ mb_substr_count သည် အချည်းနှီးသော string ကိုအလွှာအဖြစ်တွေ့သောအခါအပြုအမူ

PHPSubstr_count function ကို MB_Substrat_count function ကို substring (i.E. $ အပ် ) အဖြစ်အချည်းနှီးသော string တစ်ခုအနေဖြင့်အချည်းနှီး သော string တစ်ခုအဖြစ် ဖြတ်သန်းသွားပြီဆိုပါစို့။

ဥပမာ 1 - အပ်တစ်ကောင် အနေဖြင့်အချည်းနှီးသောအလွှာ

 <span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">""</span></span><span>;
</span><span><span class="hljs-variable">$count</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_substr_count</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$count</span></span><span>;  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:0</span></span><span>
</span></span>

အထက်ပါကုဒ်တွင် $ အပ် သည်အချည်းနှီးသော string တစ်ခုဖြစ်သည်။ Target Transstack $ haystack သည်အချည်းနှီးဖြစ်သော်လည်း PHP သည်အချည်းနှီးသော string ကို "မထင်ရှားသောအလွှာ" အဖြစ်ဆက်ဆံသည်။ ထို့ကြောင့် function ကို 0 ပြန်လာပြီ။

2 ။ အချည်းနှီးသောပစ်ကပ် string ကို haystack အဖြစ်အသုံးပြုသောအခါအပြုအမူ

အကယ်. MB_substr_count သို့သွားသော target string သည် target string သည် string တစ်ခုဖြစ်ပါကအချည်းနှီးသော string (i.e. $ haystack = "" ) သည် 0 င်ငွေကို 0 န် ထမ်းသည် 0 0 0 0 0 တစ်ခုဖြစ်လိမ့်မည်။ ဘာဖြစ်လို့လဲဆိုတော့အချည်းနှီးသော string သည်အလွှာမည်သို့ပင်ရှိပါစေအလွှာမပါ 0 င်နိုင်ပါ။

ဥပမာ 2: Haystack အဖြစ်အချည်းနှီးသောပစ်မှတ် string ကို

 <span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">""</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"Hello"</span></span><span>;
</span><span><span class="hljs-variable">$count</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_substr_count</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$count</span></span><span>;  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:0</span></span><span>
</span></span>

ဒီနေရာမှာ $ အပ် ဟာ "ဟဲလို" ဖြစ်သော်လည်းအချည်းနှီးသော string ကို $ haystack သည် ဘာမှမပါ 0 င်ပါ။

3 ။ အချည်းနှီးသော strings ၏အထူးအခြေအနေများအကျဉ်းချုပ်

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

  • အဆိုပါအလွှာအချည်းနှီး ဖြစ်လျှင် 0 င်ဝင်ပါ။

  • ပစ်မှတ် string ကိုအချည်းနှီး ဖြစ်လျှင် 0 ကိုပြန်လာပြီဆိုပါစို့။

ဤအခြေအနေနှစ်ခုသည် MB_Substr_count function တွင် "နယ်နိမိတ်အခြေအနေများ" ဖြစ်သည်။

4 ။ စွမ်းဆောင်ရည်ထည့်သွင်းစဉ်းစား

အချည်းနှီးသောကြိုးများသည်ပြ problem နာအရအရေးအကြီးဆုံးမဟုတ်သော်လည်းကုဒ်ဖတ်ရှုခြင်းနှင့်ထိရောက်မှုကိုမြှင့်တင်ရန် MB_Substr_Coint ကို MB_substr_Count သို့ parameters များကို parameters များကို parameters များအဖြစ်ဖြတ်သန်းခြင်းကိုရှောင်ရှားရန်အကြံပြုသည်။ $ အပ် သည်အချည်းနှီးသော string တစ်ခုဖြစ်ပါက MB_substr_Count ကို မခေါ်မီရိုးရှင်းသောစစ်ဆေးမှုပြုလုပ်ရန်အကြံပြုသည်။

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$needle</span></span><span> !== </span><span><span class="hljs-string">""</span></span><span>) {
    </span><span><span class="hljs-variable">$count</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_substr_count</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-variable">$count</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
}
</span></span>

၎င်းသည်မလိုအပ်သောလုပ်ဆောင်ချက်များကိုခေါ်ဆိုခြင်းနှင့်အစီအစဉ်စွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။

5 ။ အကျဉ်းချုပ်နှင့်ကြိုတင်ကာကွယ်မှုများ

  1. အချည်းနှီးသော string ကိုအပ် အဖြစ် : mb_substr_count 0 င် substring အချည်းနှီးဖြစ်သည့်အခါ 0 သည် 0 ပြန်လာ၏။

  2. အချည်းနှီးသော string ကို Haystack အဖြစ် : MB_Substr_Count သည် 00 string ကိုဗလာချသောအခါ 0 င်ပြန်ရောက်သည်။

  3. စွမ်းဆောင်ရည် optimization : ကြိုးပြားများကို အပ်တစ် အဖြစ်ဖြတ်ကျော်ခြင်းကိုရှောင်ကြဉ်ပါ

ဤအသေးစိတ်အချက်အလက်များကိုနားလည်ခြင်းသည် PHP code ကိုအရေးအကြီးဆုံးအမှားများနှင့်စွမ်းဆောင်ရည်ပြ problems နာများကိုရှောင်ရှားရန် MB_Substr_Count ကို ပိုမိုကောင်းမွန်အောင်ကူညီနိုင်သည်။