Aktueller Standort: Startseite> Neueste Artikel> So beurteilen und korrekt diese Situation, wenn die MB_STRSTR -Funktion falsch zurückgibt

So beurteilen und korrekt diese Situation, wenn die MB_STRSTR -Funktion falsch zurückgibt

gitbox 2025-07-02
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Beispiele für nicht verwandte Codes im vorherigen Dokument</span></span><span>
</span><span><span class="hljs-variable">$example</span></span><span> = </span><span><span class="hljs-string">"Beispielinhalt"</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_strstrFunktion kehrt zurückfalseStunde,Wie man diese Situation richtig bewertet und umgeht
 *
 * existierenPHPMitte,mb_strstr函数用于existieren多字节字符串MitteFinden子串,und geben Sie das Substring und seine nachfolgenden Teile zurück。
 * Die Signatur der Funktion ist:
 * string|false mb_strstr(string $haystack, string $needle, bool $before_needle = false, ?string $encoding = null)
 *
 * 当Finden的子串不存existierenStunde,mb_strstrWird zurückkehrenfalse。因此existieren使用Stunde需要特别注意zurückkehren值的判断,
 * 避免existieren后续操作Mitte产生错误。
 *
 * Das Folgende sind Urteile und Verarbeitungmb_strstrzurückkehrenfalseRichtiges Beispiel von:
 */</span>

</span><span><span class="hljs-comment">// Definieren Sie eine Zeichenfolge, die Multibyte -Zeichen enthält</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Dies ist eine Testzeichenfolge,Zur Demonstrationmb_strstrVerwendung von Funktionen。"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"prüfen"</span></span><span>;

</span><span><span class="hljs-comment">// Anrufmb_strstrFinden</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">// 子串不存existieren,Führen Sie die entsprechende Verarbeitung durch</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Kein Substring gefunden '<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">// 子串存existieren,继续处理zurückkehren结果</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Finden Sie das Substring '<span class="hljs-subst">{$needle}</span></span></span><span>',Das Ergebnis ist: " . </span><span><span class="hljs-variable">$result</span></span><span>;
}

<span class="hljs-comment">/**
 * Dinge zu beachten:
 * 1. Verwenden Sie strenge Vergleichssymbole(===)判断zurückkehren值是否为false,Vermeiden Sie eine Fehleinschätzung von leeren Zeichenfolgen usw.。
 * 2. Geben Sie die richtigen Codierungsparameter an,Stellen Sie die korrekte Handhabung von Multibyte -Zeichen sicher。
 * 3. 如果仅需要判断子串是否存existieren,mb_strposWahrscheinlich eine geeignetere Wahl。
 *
 * Zusammenfassung:
 * mb_strstrFunktion kehrt zurückfalse表示Kein Substring gefunden,通过严格判断zurückkehren值,
 * Kann nachfolgende logische Fehler vermeiden,Stellen Sie den stabilen Betrieb des Programms sicher。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>