利用PHP函数计算中英文字符串长度的方法


Posted in PHP onNovember 11, 2014

本文实例讲述了利用PHP函数计算中英文字符串长度的方法。分享给大家供大家参考。具体实现方法如下:

一般来说大家知道英文字符占一个字节,而中文字符gbk占两个字符,utf8占三个字符,很多人印象中php计算字符串长度就是strlen()函数,其实不然,它计算的是字节的长度而非字符的长度,那么如何获取一个字符串中字符的长度呢?还有有mb_strlen().

具体代码如下:

echo $str = 'PHP点点通'; 
echo strlen($str); //3*1+3*3=12  

echo mb_strlen($str, 'gb2312'); //3*1+3*2=9  

echo mb_strlen($str, 'utf-8'); //6

可恶的是,mb系列的函数并不是PHP核心函数,默认没有开启的,还有一个超简单的方法,通过正则将字符串分解为字符个体,计算字符的个数即为字符串的长度,代码如下:
<?php  

function _strlen($str)  

{  

        preg_match_all("/./us", $str, $matches);  

        return count(current($matches));  

}  

  

echo _strlen("PHP点点通");  //6  

?>

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
php a simple smtp class
Nov 26 PHP
php $_ENV为空的原因分析
Jun 01 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
PHP5与MySQL数据库操作常用代码 收集
Mar 21 PHP
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
用PHP读取和编写XML DOM的实现代码
Feb 03 PHP
php计算数组相同值出现次数的代码(array_count_values)
Jan 20 PHP
php监测数据是否成功插入到Mysql数据库的方法
Nov 25 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
作为PHP程序员你要知道的另外一种日志
Jul 30 PHP
php fread函数使用方法总结
May 28 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
Nov 11 #PHP
PHP基于imap获取邮件实例
Nov 11 #PHP
php无限极分类递归排序实现方法
Nov 11 #PHP
php实现压缩多个CSS与JS文件的方法
Nov 11 #PHP
详谈PHP文件目录基础操作
Nov 11 #PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 #PHP
php 魔术方法详解
Nov 11 #PHP
You might like
选择PHP作为网站开发语言的原因分享
2012/01/03 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
php中的boolean(布尔)类型详解
2013/10/28 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
extjs fckeditor集成代码
2009/05/10 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
javascript 缓冲运动框架的实现
2017/09/29 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
Python 数据结构之旋转链表
2017/02/25 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
python中的列表与元组的使用
2019/08/08 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
CSS3 简写animation
2012/05/10 HTML / CSS
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
美国网上花店:JustFlowers
2017/02/12 全球购物
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
大一军训感言
2014/01/09 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
安全宣传标语
2014/06/10 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书