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

MB_Strtrtrstrstr function သည်မှားယွင်းသောအခါဤအခြေအနေကိုမည်သို့ဆုံးဖြတ်ရမည်နည်း

gitbox 2025-07-02
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ယခင်စာရွက်စာတမ်းတွင်မသက်ဆိုင်သောကုဒ်များဥပမာ</span></span><span>
</span><span><span class="hljs-variable">$example</span></span><span> = </span><span><span class="hljs-string">"ဥပမာအကြောင်းအရာ"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * mb_strstrfunction ကိုပြန်လာfalseနာရီ,ဒီအခြေအနေကိုမှန်ကန်စွာဘယ်လိုစီရင်ရမလဲ
 *
 * တည်နေPHPအလယ်ပိုင်း,mb_strstr函数用于တည်နေ多字节字符串အလယ်ပိုင်းတေှ့မြင်子串,နှင့်အလွှာနှင့်၎င်း၏နောက်ဆက်တွဲအစိတ်အပိုင်းများကိုပြန်သွားပါ。
 * function ကို၏လက်မှတ်ဖြစ်ပါတယ်:
 * string|false mb_strstr(string $haystack, string $needle, bool $before_needle = false, ?string $encoding = null)
 *
 * 当တေှ့မြင်的子串不存တည်နေနာရီ,mb_strstrပြန်လာပါလိမ့်မယ်false。因此တည်နေ使用နာရီ需要特别注意ပြန်လာ值的判断,
 * 避免တည်နေ后续操作အလယ်ပိုင်း产生错误。
 *
 * အောက်ပါဆုံးဖြတ်ချက်များနှင့်အပြောင်းအလဲနဲ့ဖြစ်ကြသည်mb_strstrပြန်လာfalse၏မှန်ကန်သောဥပမာ:
 */</span>

</span><span><span class="hljs-comment">// Multibyte ဇာတ်ကောင်များပါ 0 င်သည့် string ကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"ဒီစမ်းသပ်မှု string ကိုဖြစ်ပါတယ်,သရုပ်ပြသည်mb_strstrလုပ်ဆောင်ချက်များကိုအသုံးပြုခြင်း。"</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-comment">// တယ်လီဖုန်းဆက်ခြင်းmb_strstrတေှ့မြင်</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_strstr</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-literal">false</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-comment">// 子串不存တည်နေ,သက်ဆိုင်ရာအပြောင်းအလဲနဲ့လုပ်ဆောင်ပါ</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အဘယ်သူမျှမ substring တွေ့ရှိခဲ့ပါတယ် '<span class="hljs-subst">{$needle}</span></span></span><span>'。";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-comment">// 子串存တည်နေ,继续处理ပြန်လာ结果</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အဆိုပါအလွှာကိုရှာပါ '<span class="hljs-subst">{$needle}</span></span></span><span>',ရလဒ်ကတော့: " . </span><span><span class="hljs-variable">$result</span></span><span>;
}

<span class="hljs-comment">/**
 * မှတ်သားရန်အရာ:
 * 1. တင်းကျပ်စွာနှိုင်းယှဉ်သင်္ကေတကိုသုံးပါ(===)判断ပြန်လာ值是否为false,အချည်းနှီးသောကြိုးများကိုမှားယွင်းစွာရှောင်ကြဉ်ပါ။。
 * 2. မှန်ကန်သော encoding parameters တွေကိုသတ်မှတ်ပါ,Multibyte ဇာတ်ကောင်များ၏မှန်ကန်သောကိုင်တွယ်သေချာပါစေ。
 * 3. 如果仅需要判断子串是否存တည်နေ,mb_strposဖြစ်ကောင်းပိုသင့်လျော်သောရွေးချယ်မှု。
 *
 * အကျဉ်းချုပ်:
 * mb_strstrfunction ကိုပြန်လာfalse表示အဘယ်သူမျှမ substring တွေ့ရှိခဲ့ပါတယ်,通过严格判断ပြန်လာ值,
 * နောက်ဆက်တွဲယုတ္တိအမှားများကိုရှောင်ရှားနိုင်သည်,အစီအစဉ်၏တည်ငြိမ်မှုကိုသေချာစွာစစ်ဆေးပါ。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>