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 ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
<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 ** ။
PHPSubstr_count function ကို MB_Substrat_count function ကို substring (i.E. $ အပ် ) အဖြစ်အချည်းနှီးသော string တစ်ခုအနေဖြင့်အချည်းနှီး သော string တစ်ခုအဖြစ် ဖြတ်သန်းသွားပြီဆိုပါစို့။
<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 ပြန်လာပြီ။
အကယ်. MB_substr_count သို့သွားသော target string သည် target string သည် string တစ်ခုဖြစ်ပါကအချည်းနှီးသော string (i.e. $ haystack = "" ) သည် 0 င်ငွေကို 0 န် ထမ်းသည် 0 0 0 0 0 တစ်ခုဖြစ်လိမ့်မည်။ ဘာဖြစ်လို့လဲဆိုတော့အချည်းနှီးသော string သည်အလွှာမည်သို့ပင်ရှိပါစေအလွှာမပါ 0 င်နိုင်ပါ။
<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 င်ပါ။
အထက်ပါဥပမာနှစ်ခုမှ mb_substr_count သည် အချည်းနှီးသောကြိုးများဖြင့်အလိုအလျောက်ပြုမူသည်ကိုတွေ့မြင်နိုင်သည်။
အဆိုပါအလွှာအချည်းနှီး ဖြစ်လျှင် 0 င်ဝင်ပါ။
ပစ်မှတ် string ကိုအချည်းနှီး ဖြစ်လျှင် 0 ကိုပြန်လာပြီဆိုပါစို့။
ဤအခြေအနေနှစ်ခုသည် MB_Substr_count function တွင် "နယ်နိမိတ်အခြေအနေများ" ဖြစ်သည်။
အချည်းနှီးသောကြိုးများသည်ပြ 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>
၎င်းသည်မလိုအပ်သောလုပ်ဆောင်ချက်များကိုခေါ်ဆိုခြင်းနှင့်အစီအစဉ်စွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။
အချည်းနှီးသော string ကိုအပ် အဖြစ် : mb_substr_count 0 င် substring အချည်းနှီးဖြစ်သည့်အခါ 0 သည် 0 ပြန်လာ၏။
အချည်းနှီးသော string ကို Haystack အဖြစ် : MB_Substr_Count သည် 00 string ကိုဗလာချသောအခါ 0 င်ပြန်ရောက်သည်။
စွမ်းဆောင်ရည် optimization : ကြိုးပြားများကို အပ်တစ် အဖြစ်ဖြတ်ကျော်ခြင်းကိုရှောင်ကြဉ်ပါ ။
ဤအသေးစိတ်အချက်အလက်များကိုနားလည်ခြင်းသည် PHP code ကိုအရေးအကြီးဆုံးအမှားများနှင့်စွမ်းဆောင်ရည်ပြ problems နာများကိုရှောင်ရှားရန် MB_Substr_Count ကို ပိုမိုကောင်းမွန်အောင်ကူညီနိုင်သည်။