• php判断字符串长度 strlen()与mb_strlen()函数


    PHP strlen() 函数

    定义和用法

    strlen() 函数返回字符串的长度。

    语法

    strlen(string)

    参数:string 

    按 Ctrl+C 复制代码

    按 Ctrl+C 复制代码

    结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14 
    在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6

    mb_strlen()函数

    需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保

    “extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。

    复制代码

    <?php
        //测试时文件的编码方式要是UTF8
        $str='中文a字1符';
        echo strlen($str).'<br>';//14
        echo mb_strlen($str,'utf8').'<br>';//6
        echo mb_strlen($str,'gbk').'<br>';//8
        echo mb_strlen($str,'gb2312').'<br>';//10
        ?> 

    复制代码

    结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14,在mb_strlen

    计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6 .


    虽然上面函数可以简单解决一些中英文混合问题,但是不能用于实实际中,下面我来给各位朋友介绍其它比较好的办

    法。

    PHP获取中英文混合字符串长度的实现代码如下,1中文=1位,2英文=1位,可自行修改

  • 相关阅读:
    Docker 部署 ElasticSearch-Head
    linux安装kibana-7.6.1
    CentOS部署ElasticSearch7.6.1集群
    linux 安装mysql 8
    Docker安装Mysql,并搭建一主一从复制集群,一主双从,双主双从集群
    linux 挂载光盘,rmp,yum
    git多账号登录问题
    js动态添加事件-事件委托
    yii2 RESTful api的详细使用
    yii2 ActiveRecord多表关联以及多表关联搜索的实现
  • 原文地址:https://www.cnblogs.com/wjlbk/p/12633437.html
Copyright © 2020-2023  润新知