利用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 相关文章推荐
Snoopy类使用小例子
Apr 15 PHP
Optimizer与Debugger兼容性问题的解决方法
Dec 01 PHP
PHP 地址栏信息的获取代码
Jan 07 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
Jan 19 PHP
php数组编码转换示例详解
Mar 11 PHP
PHPExcel简单读取excel文件示例
May 26 PHP
PHP基于SMTP协议实现邮件发送实例代码
Apr 27 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
PHP实现的简单路由和类自动加载功能
Mar 13 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
PHP PDOStatement::bindColumn讲解
Jan 30 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中eclipse 用空格替换 tab键
2013/06/24 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
js 页面执行时间计算代码
2009/03/04 Javascript
JS 分号引起的一段调试问题
2009/06/18 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
微信小程序canvas绘制圆角base64图片的实现
2019/08/18 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
Django 使用logging打印日志的实例
2018/04/28 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
python实现括号匹配的思路详解
2018/08/23 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
个人找工作自荐信格式
2013/09/21 职场文书
物业管理专业个人的自我评价
2013/11/19 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
离婚财产分配协议书
2014/10/21 职场文书
销售人员管理制度
2015/08/06 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书
Angular CLI发布路径的配置项浅析
2021/03/29 Javascript
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL