zoukankan      html  css  js  c++  java
  • PHP strlen和mb_strlen的区别

    先看案例:

    echo mb_internal_encoding();
    echo "<br/>";
    $str="D.C is 中国人"; //
    echo strlen($str);
    echo "<br>";
    echo mb_strlen($str,"utf-8"); 
    echo "<br/>";
    echo mb_strlen($str,"gbk");

    输出结果:

    UTF-8
    16
    10
    12

    在strlen计算中,对待一个UTF8的中文字符,处理为3个字节长度,所以为3+1+2+1+9=16个

    当mb_strlen的内码选择为UTF-8的时候,则会将中文字符当成一个字符,所以为3+1+2+1+3=10;

    当mb_strlen的内码选择为gbk的时候,一个中文字符当成1.5个字符来处理来处理,最后就是:3+1+2+1+4.5=11.5

    函数:mb_internal_encoding()会得到当前PHP使用的内部编码

    strlen,得到的是字符串所占的字节数,所以在查看一个字符串的长度的时候,strlen并不能得到我们需要的真实值

    mb_strlen 函数可以很好的处理这一点

    注意:mb_strlen函数并不是php的核心函数,只是PHP的一个扩展函数,使用之前要判断是否加在的mbstring扩展模块,在Php.ini文件中可以查看相关配置

    联系我->邮件写信
  • 相关阅读:
    手机端页面自适应解决方案
    每日一算法之拓扑排序
    C++顺序容器类总结
    c++ 运算符优先级
    CUDA获取显卡数据
    第一个CUDA程序
    C++有关类的符号总结
    shell编程的一些例子5
    shell编程的一些例子4
    shell编程的一些例子3
  • 原文地址:https://www.cnblogs.com/bing-yu12/p/6600153.html
Copyright © 2011-2022 走看看