현재 위치: > 최신 기사 목록> MB_STRSTR 함수가 False를 반환 할 때이 상황을 판단하고 올바르게 처리하는 방법

MB_STRSTR 함수가 False를 반환 할 때이 상황을 판단하고 올바르게 처리하는 방법

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_strstr기능이 반환됩니다false시간,이 상황을 올바르게 판단하고 처리하는 방법
 *
 * 존재하다PHP가운데,mb_strstr函数用于존재하다多字节字符串가운데찾다子串,그리고 서브 스트링과 그 이후의 부분을 반환하십시오。
 * 함수의 서명은 다음과 같습니다:
 * 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">// 멀티 바이트 문자가 포함 된 문자열을 정의하십시오</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-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">"서브 스트링이 발견되지 않았습니다 '<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. 올바른 인코딩 매개 변수를 지정하십시오,멀티 바이트 문자를 올바르게 처리하십시오。
 * 3. 如果仅需要判断子串是否存존재하다,mb_strpos아마도 더 적합한 선택 일 것입니다。
 *
 * 요약:
 * mb_strstr기능이 반환됩니다false表示서브 스트링이 발견되지 않았습니다,通过严格判断반품值,
 * 후속 논리 오류를 피할 수 있습니다,프로그램의 안정적인 작동을 확인하십시오。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>