Position actuelle: Accueil> Derniers articles> Comment compter la différence entre le nombre de mots chinois et la longueur de caractère chinois et anglais en php

Comment compter la différence entre le nombre de mots chinois et la longueur de caractère chinois et anglais en php

gitbox 2025-07-27

PHP Statistiques en temps réel sur les caractères chinois

Pendant le processus de développement, nous devons souvent compter le nombre de caractères chinois dans la chaîne. PHP fournit une fonction MB_STRLEN , qui peut calculer avec précision la longueur des caractères chinois. Ensuite, nous montrerons un exemple simple:

 
$string = "PHPStatistiques en temps réel sur le nombre de caractères chinois";
$length = mb_strlen($string, 'utf-8');
echo $length; // Sortir 10

Dans le code ci-dessus, nous définissons une chaîne String $ contenant des caractères chinois, puis utilisons la fonction MB_Strlen pour obtenir son nombre de mots chinois. Notez que la méthode d'encodage est définie sur «UTF-8» pour s'assurer que les caractères chinois peuvent être correctement comptés.

Différences statistiques entre les caractères chinois et anglais

Lorsque vous comptez les caractères chinois et anglais, les résultats varient généralement. Par exemple, le nombre de caractères chinois en temps réel de chaîne "PHP en temps réel" contient 10 caractères chinois, et si nous utilisons Strlen pour calculer le nombre de caractères anglais de cette chaîne, le résultat est 18.

 
$string = "PHPStatistiques en temps réel sur le nombre de caractères chinois";
$length = strlen($string); // Longueur de caractère anglais
echo $length; // Sortir 18

Grâce au code ci-dessus, nous pouvons voir que les longueurs de caractère comptées en utilisant la fonction Strlen incluent différentes méthodes d'encodage pour les caractères anglais et chinois.

La différence entre les statistiques en temps réel PHP sur les caractères anglais

Lors du calcul du nombre de caractères chinois et anglais, la fonction Strlen est différente de la fonction MB_strlen . Plus précisément, Strlen est utilisé pour calculer la longueur d'octets, tandis que MB_STRLEN est utilisé pour calculer la longueur du caractère.

 
$string = "PHP Real-time Statistics and Differences in Chinese and English Character Counts";
$length = strlen($string); // Statistiques Longueur d'octet
echo $length; // Sortir 68

Comme indiqué ci-dessus, Strlen renvoie le résultat de 68, qui est le nombre d'octets pour cette chaîne, pas le nombre de caractères.

Différences réelles dans les statistiques de caractère chinois et anglais

Il convient de noter que les méthodes de traitement des caractères chinois et anglaises en PHP sont différentes. Dans la fonction Strlen , un caractère chinois occupe généralement trois octets, il y a donc une différence entre le nombre de caractères et d'octets. Nous pouvons le vérifier avec le code suivant:

 
$string = "PHPStatistiques en temps réel sur le nombre de caractères chinois and this is a English sentence.";
$length_en = strlen($string); // Statistiques des caractères anglais
$length_ch = mb_strlen($string, 'utf-8'); // Statistiques des caractères chinois
echo "Longueur de caractère anglais:" . $length_en;
echo "Longueur de caractère chinois:" . $length_ch;

Grâce à ce code, nous pouvons clairement voir qu'il existe une différence significative entre le nombre de caractères anglais et le nombre de caractères chinois.

En résumé, Strlen convient au calcul des longueurs d'octets, principalement utilisées pour les caractères anglais, tandis que MB_Strlen convient au traitement des caractères chinois et peut retourner des longueurs de caractère précises. Comprendre la différence entre les deux est très important pour gérer les chaînes de langage mixte.