利用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.ini中添加extension=php_mysqli.dll指令的说明
Jun 14 PHP
php共享内存段示例分享
Jan 20 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
php中Session的生成机制、回收机制和存储机制探究
Aug 19 PHP
php返回json数据函数实例
Oct 09 PHP
php+mysql数据库查询实例
Jan 21 PHP
PHP实现动态web服务器方法
Jul 29 PHP
详细解读PHP中接口的应用
Aug 12 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
Sep 26 PHP
PHP高并发和大流量解决方案整理
Mar 09 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随机生成福彩双色球号码的2种方法
2013/02/04 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
2013/08/25 Javascript
JQuery为元素添加样式的实现方法
2016/07/20 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
Angular实现的进度条功能示例
2018/02/18 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
Python的多态性实例分析
2015/07/07 Python
使用Python从有道词典网页获取单词翻译
2016/07/03 Python
Python机器学习之决策树算法
2017/12/22 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
办公室内勤岗位职责范本
2013/12/09 职场文书
经营管理策划方案
2014/05/22 职场文书
校园文化标语
2014/06/18 职场文书
失职检讨书大全
2015/01/26 职场文书
入党培养人考察意见
2015/06/08 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
学校运动会开幕词
2016/03/03 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
CSS使用伪类控制边框长度的方法
2022/01/18 HTML / CSS
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记
golang定时器
2022/04/14 Golang