Cet article présente principalement la méthode d'utilisation de la fonction PHP pour calculer la longueur de la chaîne chinoise et anglaise. L'exemple compare la méthode d'implémentation de la fonction PHP avec l'expression régulière. La méthode d'implémentation a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer
Cet article décrit la méthode d'utilisation des fonctions PHP pour calculer la longueur des chaînes chinoises et anglaises. Partagez-le avec tout le monde pour votre référence. La méthode spécifique d'implémentation est la suivante :
De manière générale, tout le monde sait que les caractères anglais occupent un octet, tandis que les caractères chinois gbk occupent deux caractères et utf8 occupe trois caractères. Beaucoup de gens ont l'impression que PHP calcule la longueur. d'une chaîne par la fonction strlen(), en fait ce n'est pas le cas. Elle calcule la longueur des octets plutôt que la longueur des caractères. Alors, comment obtenir la longueur des caractères dans une chaîne ? Il y a aussi mb_strlen().
Le code spécifique est le suivant :
Le code est le suivant :
echo $str = 'PHP点点通'; echo strlen($str); //3*1+3*3=12 echo mb_strlen($str, 'gb2312'); //3*1+3*2=9 echo mb_strlen($str, 'utf-8'); //6
Ce qui est terrible c'est que le mb les fonctions de série ne sont pas le cœur de PHP La fonction n'est pas activée par défaut. Il existe également une méthode très simple pour décomposer la chaîne en caractères individuels via des expressions régulières. Le calcul du nombre de caractères correspond à la longueur de la chaîne. suit :
Code Comme suit :
<?php function _strlen($str) { preg_match_all("/./us", $str, $matches); return count( current ($matches)); } echo _strlen("PHP点点通"); //6 ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!