Position actuelle: Accueil> Derniers articles> Comment juger et gérer correctement cette situation lorsque la fonction MB_STRSTRR Retourne False

Comment juger et gérer correctement cette situation lorsque la fonction MB_STRSTRR Retourne False

gitbox 2025-07-02
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Exemples de codes non liés dans le document précédent</span></span><span>
</span><span><span class="hljs-variable">$example</span></span><span> = </span><span><span class="hljs-string">"Exemple de contenu"</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_strstrRenvoie la fonctionfalseheure,Comment juger et gérer correctement cette situation
 *
 * existerPHPmilieu,mb_strstr函数用于exister多字节字符串milieuTrouver子串,et retourner la sous-chaîne et ses parties suivantes。
 * La signature de la fonction est:
 * string|false mb_strstr(string $haystack, string $needle, bool $before_needle = false, ?string $encoding = null)
 *
 * 当Trouver的子串不存existerheure,mb_strstrReviendrafalse。因此exister使用heure需要特别注意retour值的判断,
 * 避免exister后续操作milieu产生错误。
 *
 * Voici les jugements et le traitementmb_strstrretourfalseExemple correct de:
 */</span>

</span><span><span class="hljs-comment">// Définir une chaîne contenant des caractères multicettes</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Ceci est une chaîne de test,Pour démonstrationmb_strstrUtilisation des fonctions。"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"test"</span></span><span>;

</span><span><span class="hljs-comment">// Appelmb_strstrTrouver</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">// 子串不存exister,Effectuer un traitement correspondant</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Aucune sous-chaîne trouvée '<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">// 子串存exister,继续处理retour结果</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Trouver la substrat '<span class="hljs-subst">{$needle}</span></span></span><span>',Le résultat est: " . </span><span><span class="hljs-variable">$result</span></span><span>;
}

<span class="hljs-comment">/**
 * Choses à noter:
 * 1. Utilisez des symboles de comparaison stricts(===)判断retour值是否为false,Évitez les erreurs de jugement des chaînes vides, etc.。
 * 2. Spécifiez les paramètres de codage corrects,Assurer une manipulation correcte des caractères multi -ytets。
 * 3. 如果仅需要判断子串是否存exister,mb_strposProbablement un choix plus approprié。
 *
 * résumé:
 * mb_strstrRenvoie la fonctionfalse表示Aucune sous-chaîne trouvée,通过严格判断retour值,
 * Peut éviter les erreurs logiques ultérieures,Assurer le fonctionnement stable du programme。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>