在PHP中,可以使用mb_strlen()函数来检查汉字字符串有几个字符,语法为“strlen(字符串,字符编码)”,能精确返回汉字字符串的字符个数;该函数可以通过设置的字符编码来处理中文字符,让汉字、英文、数字等,都只占一个字符长度。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
在 PHP 中常用的计算字符串长度的函数有两个,分别是 strlen() 和 mb_strlen() 函数。当处理全英文字符串时,这两个函数的效果是一样的,而处理中英文混合或纯中文的字符串时,这两个函数会有一些差异。
strlen()无法精确计算中英文混合或纯中文的字符串,而mb_strlen() 可以。
因此,想要检查汉字字符串有几个字符,需要使用mb_strlen()函数。
mb_strlen() 函数返回字符串的长度,即统计字符串中字符的个数。
语法:
strlen(字符串,字符编码)
返回值:如果成功则返回字符串的长度,如果字符串为空则返回 0。
示例:检查汉字字符串有几个字符
<?PHP header('content-type:text/html;charset=utf-8'); $str = 欢迎来到这里; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str).'<br>'; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str,utf-8).'<br>'; ?>
可以看出,若省略了第二个参数,该函数则使用内部字符编码,这样一个 GB2312 编码的汉字占两个字符长度,一个 UTF-8 编码的汉字占三个字符长度。
所以在统计汉字字符串长度时,第二个参数不可省略。
mb_strlen()函数不仅统计纯汉字字符,也可统计中英文混合字符串。
<?PHP header('content-type:text/html;charset=utf-8'); $str = 欢迎来到编程之家; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str,utf-8).'<br>'; ?>
推荐学习:《PHP教程》