• 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文件中可以查看相关配置

    联系我->邮件写信
  • 相关阅读:
    HTML--1标签表格
    HTML--4格式布局
    HTML--3css样式表
    快速制作网页的方法
    表单
    表单练习——邮箱注册
    斐波那契数列
    0125 多线程 继承Thread 练习
    Hash(哈希)
    [COI2007] [luogu P1823] Patrik 音乐会的等待 解题报告 (单调栈)
  • 原文地址:https://www.cnblogs.com/bing-yu12/p/6600153.html
Copyright © 2020-2023  润新知