位置: 编程技术 - 正文

编写PHP程序检查字符串中的中文字符个数的实例分享(php代码检测)

编辑:rootadmin

推荐整理分享编写PHP程序检查字符串中的中文字符个数的实例分享(php代码检测),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php查询功能完整代码实现,php怎么写程序,检查php脚本的执行效率,检测php代码性能的方法,php怎么写程序,php程序题,php怎么写程序,php代码检查,内容如对您有帮助,希望把文章链接给更多的朋友!

有时候我们需要计算一个字符串中包含的字数,对于纯英文字符串,字数等于字符串长度,用strlen函数即可获得,但如果字符串中包含中文怎办?mb_strlen可以实现,但不幸没装扩展,那就自己实现一下吧。

php有一个扩展一般是必装的,我们可以使用mb_strlen来获取字符串中的字数,用法一般如下:

如愿获得字符串长度:7.

如果没装mb扩展呢?自己实现一下吧。

我们要先明白一个事实:字符串是由字符组成的,而字符是由字节表示的,每个英文字符是一个字节,对应一个ascii码,英文字符的ascii码是小于的,也就是十六进制的 0x .当一个字节的ascii码超过了,那就说明当前字节不是一个完整的字符。

比如

编写PHP程序检查字符串中的中文字符个数的实例分享(php代码检测)

中的$str{0}可以取到第一个字节,我们来看一下它是啥:

是个乱码,它只是 字的字节之一,也就是说,这个字符是由超过一个字节组成的,我们这样试试:

你可以看到,将三个字节连在一起输出,就成了一个完整的。

至于这里为什么是三个字节,而不是两个或4个?这个取决于字符串的编码,我这里控制台默认是utf8编码的,在PHP中,一个utf8字符是用三个字节表达的,如果是gbk编码,则会是两个字节。至于编码和字节的关系,这个话题比较大,一篇说不完,请参考这篇文章:字符编码笔记:ascii,unicode和utf8 。

知道了这些,我们就可以自己编写一个字数检查的函数了,大致流程如下:

1.for循环遍历字节 2.判断字节编码是否 >= 0x,是的话跳过N个字节

我写了个简单的函数,可以判断gbk或utf8字符串的长度,仅供参考:

PHP的Yii框架中使用数据库的配置和SQL操作实例教程 数据库访问(DAO)Yii包含了一个建立在PHPPDO之上的数据访问层(DAO).DAO为不同的数据库提供了一套统一的API.其中ActiveRecord提供了数据库与模型(MVC中的M,Model)

Symfony2框架学习笔记之HTTP Cache用法详解 本文实例讲述了Symfony2框架HTTPCache用法。分享给大家供大家参考,具体如下:富web应用程序的本质意味着它们的动态。无论你的应用程序多么有效率,每

Symfony2框架学习笔记之表单用法详解 本文实例讲述了Symfony2框架表单用法。分享给大家供大家参考,具体如下:对于一个Web开发者来说,处理HTML表单是一个最为普通又具挑战的任务。Symfony2

标签: php代码检测

本文链接地址:https://www.jiuchutong.com/biancheng/290981.html 转载请保留说明!

上一篇:Symfony控制层深入详解(控制层框架)

下一篇:PHP的Yii框架中使用数据库的配置和SQL操作实例教程(php框架怎么使用)

  • 税金及附加现金流量表
  • 公允价值变动损益属于什么科目
  • 小型微利企业企业所得税优惠政策2021年
  • 生产用天然气如何入账
  • 增值税纳税申报时间
  • 未认证的发票如何作废
  • 一般纳税人条件要求
  • 股东费用如何入账
  • 无形资产日常维护支出会计处理
  • 汽车按揭费用收合法吗?
  • 开公司财务流程
  • 存货报废应如何记账
  • 什么叫统借统还业务
  • 分包发票怎么开对方可以差额纳税
  • 企业所得税季报是填累计数吗
  • 质量扣款不开票怎么处理
  • 企业购买原材料生产时企业还没有赚到钱
  • 产品研发费用计入什么科目
  • 有哪些固定资产可以抵税
  • 会计师事务所执业许可和监督管理办法
  • 资本化利息金额
  • 视同销售行为怎么进行财税处理?
  • 营改增后哪些费用可以抵扣
  • 收上级补助款专用如何做账?
  • 试运营收入账务处理
  • 暂估入库发票回来怎么做账
  • 公允价值变动损益在利润表哪里
  • 抵扣给供货商预缴税款
  • 销售折让和折扣的风险点
  • ajax请求php接口
  • windows10我得电脑
  • PHP:Memcached::getByKey()的用法_Memcached类
  • 保险多扣一个月
  • php生成图片验证怎么弄
  • php的exec
  • nlp baseline
  • 浅谈人工智能时代财务会计向管理会计的转型
  • #cookie jar
  • 民办非企业现金流量表的编制公式
  • 邀请客户参加会议
  • mysql数据库高可用方案
  • 小规模企业跨月发票如何冲红
  • 技术使用费 收费标准
  • 小规模交社保有人数限制吗
  • 本月没开票还需要上报汇总吗
  • 还未摊销的房租怎么入账
  • 机械设备预付款比例
  • 理财中的资产是什么意思
  • 给供应商支付货款的付款申请由谁提出
  • 养猪场财务账目怎么做
  • 在建工程领用工程物资
  • 建筑公司项目
  • mysql oracle和sqlserver分页查询实例解析
  • sql函数使用
  • mac u 盘启动
  • centos6 grub
  • win10怎么解除网吧下载限速
  • 微软警告:64位Win7系统或无法安装KB3033929补丁更新
  • win7的系统升级win10
  • linux系统的介绍
  • win7系统怎样
  • linux删除一个非空子目录命令
  • win7连接投屏器
  • 绝对给力的超经典
  • 鼠标焦点离开触发查询
  • jquery和css的区别
  • 安卓字库ic
  • python中OrderedDict的使用方法详解
  • java scripts
  • 在vue中添加按钮使内容消失
  • nodejs作为后端
  • android圆形按钮
  • unityshader
  • 基于mvc的项目实例
  • JavaScript中的this
  • python smtp ssl
  • js简单实现图片轮播
  • 水电费收税
  • 营改增对医药企业影响
  • 铅球七米
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设