作者信息

青灯夜游

今天学习一小步,明天提升一大步

最近文章
php怎么利用for循环求数组的和594
mysql怎么删除外键关系360
php怎么改变数组key的值660
视频教程分类
推荐视频教程
  • php程序员小白到大牛三个月集训php程序员小白到大牛三个月集训
  • Laravel 9 学习正当时—保姆级教程,想学不会都难!Laravel 9 学习正当时—保姆级教程,想学不会都难!
  • 千万级数据并发解决方案(理论+实战)千万级数据并发解决方案(理论+实战)
  • Laravel基础与实战(模块化)Laravel基础与实战(模块化)
  • 首页 >后端开发 >PHP问题 > 正文

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

    原创2022-04-24 11:09:511656 关注公众号:每天精选资源文章推送

    在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 = "欢迎来到PHP中文网";
    echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str,"utf-8").'<br>';
    ?>

    2.png

    推荐学习:《PHP视频教程

    以上就是php怎么检查汉字字符串有几个字符的详细内容,更多请关注php中文网其它相关文章!

    20期PHP线上班

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:php字符串 php
  • 推荐:PHP从基础到实战教程视频

    相关文章

    相关视频


    专题推荐