Position actuelle: Accueil> Derniers articles> Utilisez la fonction PHP "MB_STRLEN" pour obtenir la longueur d'une chaîne multi -yte

Utilisez la fonction PHP "MB_STRLEN" pour obtenir la longueur d'une chaîne multi -yte

M66 2025-06-05

Utilisez la fonction PHP MB_STRLEN pour obtenir une longueur de chaîne multi -yte

En PHP, les fonctions traditionnelles de longueur de chaîne ne calculent souvent pas avec précision lors du traitement des caractères multi-gytets. Par exemple, les caractères chinois sont des multi-gobytes sous le codage UTF-8, et l'utilisation de fonctions normales pour calculer entraînera des erreurs de longueur. Heureusement, PHP fournit une fonction spéciale MB_strlen pour gérer de telles situations.

Activer l'extension MBSTring

Avant d'utiliser MB_STRLEN , vous devez confirmer que PHP a activé l'extension de chaîne MultiByte. Ouvrez le fichier de configuration PHP PHP.ini et recherchez la ligne de code suivante:

; extension = MbString

S'il y a un point-virgule ";" Devant cela, supprimez-le et redémarrez le serveur Web ou le service PHP pour vous assurer que l'extension prend effet.

Exemple: calculer la longueur de la chaîne multi -yte

 <?php
$str = "Bonjour,monde!";
$length = mb_strlen($str, "UTF-8");
echo "Chaîne $str La longueur est: $length";
?>

Dans le code ci-dessus, la variable $ stores stocke une chaîne contenant du chinois. Appelez MB_Strlen et spécifiez le codage en tant que UTF-8 pour calculer correctement la longueur de chaîne. Les résultats de l'exécution montreront:

Bonjour, String! La longueur est: 6

Déterminez si une chaîne multi -yte est vide

Parfois, il est nécessaire de déterminer si la chaîne est vide. L'utilisation de MB_Strlen ne peut pas exclure les chaînes contenant uniquement des caractères d'espace. À l'heure actuelle, vous pouvez utiliser la fonction de garniture pour supprimer les espaces aux deux extrémités, puis juger la longueur:

 <?php
$str = "    ";
$trimmedStr = trim($str);
if (mb_strlen($trimmedStr, "UTF-8") > 0) {
    echo "Chaîne不为空";
} else {
    echo "Chaîne为空";
}
?>

De cette façon, même s'il n'y a que des espaces dans la chaîne, le programme le jugera correctement comme une chaîne vide.

Résumer

En utilisant la fonction MB_strlen de PHP, vous pouvez obtenir avec précision la longueur d'une chaîne multi-octets pour éviter les erreurs dans un environnement multilingue en évitant le problème des fonctions de chaîne ordinaires. Combiné avec la fonction de garniture , il peut également déterminer efficacement si la chaîne est vide. Ces techniques sont très pratiques lorsqu'ils traitent avec des personnages chinois et autres personnages multi-octets et sont très importants pour les développeurs PHP.