php中strlen()和mb_strlen()函数

一、总结

一句话总结:

mb_strlen()函数 的作用是 通过不同的编码计算字符串的长度: 比如 echo mb_strlen('中文a字1符','utf8').'<br>';//6

1、mb_strlen()函数 使用注意?

开启php_mbstring.dll扩展

mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题

2、解释下列代码的结果(strlen($str)和mb_strlen($str,'utf8'))?

|||-begin

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

|||-end

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

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

转自或参考:php判断字符串长度 strlen()与mb_strlen()函数
https://www.cnblogs.com/ryanzheng/p/8285113.html

PHP strlen() 函数

定义和用法

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

语法

strlen(string)

参数:string

 <?php 

 $str=‘中文a字1符‘; 

 echo strlen($str); 

 echo ‘<br />‘; 

 echo mb_strlen($str,‘UTF8‘); 

 //输出结果 

 //14 

 //6 

 ?>

结果分析:在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>';//
echo mb_strlen($str,'utf8').'<br>';//
echo mb_strlen($str,'gbk').'<br>';//
echo mb_strlen($str,'gb2312').'<br>';//
?>

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

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

虽然上面函数可以简单解决一些中英文混合问题,但是不能用于实实际中。

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

 

php中strlen()和mb_strlen()函数的更多相关文章

  1. PHP中strlen和mb_strlen函数的使用方式的不同

    (1)strlen  获取字符串长度 (2)mb_strlen  使用方法:   int mb_strlen ( string $str [, string $encoding ] )返回给定的字符串 ...

  2. PHP中strlen和mb_strlen函数的区别

    strlen strlen — 获取字符串长度 int strlen ( string $string ) 返回给定的字符串 string 的长度. mb_strlen int mb_strlen ( ...

  3. 细说PHP中strlen和mb_strlen的区别

    在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别.下面通过例子,讲解这两者之间的区别. $str='中文a字1符'; ec ...

  4. (转载)细说PHP中strlen和mb_strlen的区别

    (转载)http://developer.51cto.com/art/201105/263103.htm 在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果 ...

  5. PHP中strlen和mb_strlen的区别

    在PHP中,strlen与mb_strlen是求字符串长度的函数,下面通过例子,讲解这两者之间的区别. <?php //测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo ...

  6. 细说PHP中strlen和mb_strlen的区别(转)

    在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别.下面通过例子,讲解这两者之间的区别. 先看例子: <?php // ...

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

    PHP strlen() 函数 定义和用法 strlen() 函数返回字符串的长度. 语法 strlen(string) 参数:string <?php $str=‘中文a字1符‘; echo ...

  8. php中常用的字符串长度函数strlen()与mb_strlen()实例解释

    int strlen ( string $string )  int strlen ( string $string )  获取给定字符串的[字节]长度 成功则返回字符串$string的长度,如果$s ...

  9. php获取字符串长度函数strlen和mb_strlen

    php获取字符串长度函数strlen和mb_strlencount() - 计算数组中的单元数目,或对象中的属性个数strlen — 获取字符串长度,一个汉字为3个字符mb_strlen() - 获取 ...

随机推荐

  1. react中key值的理解

    react利用key来识别组件,它是一种身份标识标识,相同的key react认为是同一个组件,这样后续相同的key对应组件都不会被创建有了key属性后,就可以与组件建立了一种对应关系,react根据 ...

  2. 2019年Java后端工程师常见面试题和感想

    来新公司有5个月了,从第二个月开始就参与公司后端工程师的面试工作了,包括校招在内,面试超过100个(包括40个校招的终面)应聘者了,应聘者中有超过10年的技术经理,有6年以上的高级开发,有3到5年的中 ...

  3. xposed 泛型参数怎么设置

    以下是hook一个方法,A(List<class>,bool b); 百度查了好多都没能解决,自己琢磨了挺久才搞定.直接用List.class就可以了,因为重载不能相同参数,所以List就 ...

  4. XML文件解析之JDOM解析

    1.JDOM介绍 JDOM的官方网站是http://www.jdom.org/,JDOM解析用到的jar包可以在http://www.jdom.org/dist/binary/中下载,最新的JDOM2 ...

  5. HTML块级元素与行内元素的区别

    块级元素:块级大多为结构性标记 <address>...</adderss> <center>...</center> 地址文字 <h1>. ...

  6. No package libmcrypt available.

    Centos安装PHP时,安装php依赖包时yum install libmcrypt libmcrypt-devel,报错如下: No package libmcrypt available. No ...

  7. JAVA遇见HTML——JSP篇(JSP内置对象下)

    request.getSession() 网上资料解释: request只能存在于一次访问里 session对象的作用域为一次会话 session长驻在服务器内存里,session有id标识,一个se ...

  8. django安装好之后,django-admin仍然不能使用的问题

    我使用的是python3,python3不能找到django的正确位置.需要下面这样才能正确建立mysite python3 /usr/lib/python2./site-packages/djang ...

  9. Pycharm----默认字体大小的设置

    设定前 设定后,修改字体的大小为:15号 设置方式:按照截图操作选择后,点击”apply“即可

  10. django创建路径导航

    路径导航 :         1.怎样设置需要登录但又不需要验证权限的路径 :                 在settings中定义一个列表,列表中以正则的方式放入需要登录但无需验证的权限的项.在 ...