这篇文章主要介绍了利用PHP函数计算中英文字符串长度的方法,实例对比了PHP函数实现方法与正则表达式的实现方法,具有一定的参考借鉴价值,需要的朋友可以参考下

本文实例讲述了利用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 怎么计算字符串长度相关推荐

  1. Shell脚本中计算字符串长度的5种方法

    这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下 有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前S ...

  2. 切割字符串长度php,C++_C语言中计算字符串长度与分割字符串的方法,C语言strlen()函数:返回字符串 - phpStudy...

    C语言中计算字符串长度与分割字符串的方法 C语言strlen()函数:返回字符串的长度头文件: #include strlen()函数用来计算字符串的长度,其原型为: unsigned int str ...

  3. BAT批处理脚本案例--计算字符串长度

    BAT批处理脚本没有提供字符串长度计算函数,为此需要自定义实现,本例将涉及批处理脚本下述几个关键知识点: 1)call 调用,调用结果如何赋值给变量 2)字符串截取 3)goto使用 4)变量延时读取 ...

  4. NASM汇编教程翻译03 第三讲 计算字符串长度

    英文原版地址:NASM Assembly Language Tutorials - asmtutor.com 背景知识 为什么我们需要计算字符串长度? sys_write要求我们传递指向内存中我们想要 ...

  5. 【C 语言】字符串操作 ( strlen 与 sizeof 函数 | 计算 字符串长度 与 内存块大小 )

    文章目录 一.strlen 与 sizeof 函数 二.计算 字符串长度 与 内存块大小 一.strlen 与 sizeof 函数 strlen() 函数的作用是获取字符串大小 , 其原理是 从 内存 ...

  6. 计算字符串长度.length()和数组长度.length的区别

    计算字符串长度.length()和数组长度.length的区别 写这篇文章主要是为了介绍在Java中如何获取字符串和数组的长度,文中会通过实例代码介绍计算字符串长度.length()和数组长度.len ...

  7. C语言计算字符串长度的方法

    C语言计算字符串长度的方法 思路分析 字符串的结束标志是'\0',因此计算字符串的长度的核心思想就是通过字符指针顺序检索每一个字符,直到检测到'\0'为止,以下是实现该算法的几种方式. 代码实现 1. ...

  8. C++_计算字符串长度

    LENGTH( len, str, p, n )        // 一个字符串的长度// input(str) len<-length(str) output(len) length(p)   ...

  9. php 字符串里面计算,php 计算字符串长度

    在项目的开发中,常常遇到要计算一个字符串的长度(中英文结合),由于产品要求不同,每个中文的长度要求也不一样. 解决utf-8编码下的字符串长度(可自定义每个中英文算几个字节) /** * 计算字符串长 ...

最新文章

  1. Android 内容观察者 ContentObserver 类
  2. GIS中的坐标系定义与转换
  3. Python -bs4反爬虫解决方法
  4. PHP制作回合制游戏,回合制游戏脚本制作采集思路
  5. u-boot内核启动分析
  6. DAG最长路问题 hdu-1224
  7. 如何自动搜出更好、更小、更快的NLP模型?
  8. sql语句select group by order by where一般先后顺序
  9. 设A为n阶非零矩阵,且A^2=A. r(A)=r (0<r<n) 求|5E+A|
  10. gps测试软件用法,gps测量仪器使用方法及教程
  11. python 简单爬虫获取气象数据发送气象定时报-预报预警信息及时推送及阿里云短信群发接口...
  12. 酒类企业1919获阿里20亿入股 已与天猫及饿了么有深度合作
  13. python : pandas 中多重索引multiindex与多个标的dataframe
  14. spring cloud聚合项目打jar包报错
  15. 今天安装了VS2008中文版SP1。
  16. 应用程序中的服务器错误 怎么解决办法,iwms出现“/”应用程序中的服务器错误。解决办法...
  17. jq1.9.0以上版本不兼容live()解决方法
  18. php做网站需要html,杭州做网站:所有新的PHP, CSS和HTML帮助表
  19. php 银行卡,PHP实现根据银行卡号判断银行,php银行卡判断银行_PHP教程
  20. springboot如何打开jsp页面或者html页面

热门文章

  1. 二分法求正常水深c语言程序,水力學复习.doc
  2. 分布式存储系统设计 - Gossip
  3. [译]JavaScript async / await:好处、坑和正确用法
  4. Netty(二)(入门篇)传统的Bio编程
  5. 是时候了解React Native了
  6. uvm_reg_defines——寄存器模型(四)
  7. Android基础之Java多态、继承、重载和重写的区别
  8. 如何:将项添加到缓存中
  9. flex3+blazeds+spring+hibernate整合小结
  10. 为什么我爱Xonsh