php怎么检查汉字字符串有几个字符

在php中,可以使用mb_strlen()函数来检查汉字字符串有几个字符,语法为“strlen(字符串,字符编码)”,能精确返回汉字字符串的字符个数;该函数可以通过设置的字符编码来处理中文字符,让汉字、英文、数字等,都只占一个字符长度。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

在 PHP 中常用的计算字符串长度的函数有两个,分别是 strlen() 和 mb_strlen() 函数。当处理全英文字符串时,这两个函数的效果是一样的,而处理中英文混合或纯中文的字符串时,这两个函数会有一些差异。

strlen()无法精确计算中英文混合或纯中文的字符串,而mb_strlen() 可以。

因此,想要检查汉字字符串有几个字符,需要使用mb_strlen()函数。

php mb_strlen()函数

mb_strlen() 函数返回字符串的长度,即统计字符串中字符的个数。

语法:

strlen(字符串,字符编码)
  • 该函数可以通过设置字符编码从而返回对应的字符数,很好的处理了中文字符串的长度问题。

  • 在 mb_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>';
?>

1.png

可以看出,若省略了第二个参数,该函数则使用内部字符编码,这样一个 GB2312 编码的汉字占两个字符长度,一个 UTF-8 编码的汉字占三个字符长度。

所以在统计汉字字符串长度时,第二个参数不可省略。

mb_strlen()函数不仅统计纯汉字字符,也可统计中英文混合字符串。

<?php
header('content-type:text/html;charset=utf-8');   
$str = 欢迎来到编程之家;
echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str,utf-8).'<br>';
?>

2.png

推荐学习:《PHP教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


如何选择合适的 C++ Web 开发框架?
利用 C++ 框架构建高并发 Web 应用的策略
用 C++ 框架开发跨平台图形应用程序
golang框架中安全编码实践的最佳指南是什么?
golang框架与其他语言框架在设计理念上的区别有哪些?
C++ 图形框架与其他语言框架的比较
C++ 框架与其他 Web 开发框架的对比分析
使用 C++ 框架构建大型项目最佳实践
C++ 框架如何提高大型项目开发效率
C++ 框架中依赖注入的持续集成与部署工具
如何与社区协作和贡献到自定义 Golang 框架?
C++ 框架在大型项目中如何实现模块化开发
使用 C++ 框架开发跨平台 Web 应用
C++ 框架在大型项目中的优缺点
golang框架在性能上的优势体现在哪些方面?
C++ 框架在嵌入式系统内存优化中的优势
golang框架在人工智能与机器学习中的作用
如何扩展 Golang 框架以支持特定功能?
如何利用 Go Modules 和依赖项管理来自定义 Golang 框架?
Golang 框架中的性能优化技巧