利用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生成自己的LOG文件
Oct 09 PHP
PHP中动态显示签名和ip原理
Mar 28 PHP
PHP 分页类(模仿google)-面试题目解答
Sep 13 PHP
php self,$this,const,static,-&amp;gt;的使用
Oct 22 PHP
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
Mar 21 PHP
php截取中文字符串函数实例
Feb 23 PHP
PHP面向对象详解(三)
Dec 07 PHP
CodeIgniter常用知识点小结
May 26 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
May 02 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
Linux php 中文乱码的快速解决方法
2016/05/13 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
javascript parseInt与Number函数的区别
2010/01/21 Javascript
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
django js 实现表格动态标序号的实例代码
2019/07/12 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
vue-父子组件和ref实例详解
2019/11/10 Javascript
常见python正则用法的简单实例
2016/06/21 Python
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
Python import与from import使用及区别介绍
2018/09/06 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
python中的itertools的使用详解
2020/01/13 Python
python利用线程实现多任务
2020/09/18 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
康拓普公司Java笔面试
2016/09/23 面试题
售后服务承诺书模板
2014/05/21 职场文书
期中考试后的感想
2015/08/07 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
《总之就是很可爱》新作短篇动画《总之就是很可爱~制服~》将于2022年夏天播出
2022/04/07 日漫