利用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编程效率的53个要点(经验小结)
Sep 04 PHP
Zend的MVC机制使用分析(一)
May 02 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
常见PHP数据库解决方案分析介绍
Sep 24 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
Laravel5权限管理方法详解
Jul 26 PHP
PHP实现的简单sha1加密功能示例
Aug 27 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 PHP
PHP耦合设计模式实例分析
Aug 08 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 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 HandlerSocket的使用
2011/05/02 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
python 生成图形验证码的方法示例
2018/11/11 Python
详解python使用turtle库来画一朵花
2019/03/21 Python
python deque模块简单使用代码实例
2020/03/12 Python
Pytorch 高效使用GPU的操作
2020/06/27 Python
深入了解NumPy 高级索引
2020/07/24 Python
Python如何执行系统命令
2020/09/23 Python
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
远程研修随笔感言
2014/02/10 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
2015年端午节活动总结
2015/02/11 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL