位置: 编程技术 - 正文

编写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框架怎么使用)

  • 夏天单位发防暑物品的通知
  • 个税如何变更公司
  • 汇算清缴后发现多结转了成本
  • 一个人可以两家以上公司发放工资么
  • 待抵扣进项税额怎么算
  • 单式记账法可以进行试算平衡吗
  • 工业企业员工工资占收入比例
  • 房屋出租怎么交税?
  • 营改增对小规模的影响
  • 拍卖土地支付的法律依据
  • 建筑业如何开票
  • 签订设备维修合同会计分录
  • 债权债务转让税务问题
  • 物业公司场地租赁费怎么开票
  • 为何要简并增值税税率?
  • 营改增的会计分录
  • 公司当年福利费没有用到限额,可以按照14%计提税前扣除吗?
  • 公司账上的钱如何取出来
  • 分期付款的车怎么做分录
  • 总公司汇总申报怎么弄
  • 国资委是什么
  • 预计负债估计退出怎么算
  • 支付工会经费
  • 聘请专家费用管理办法
  • 跨行汇入会计分录
  • 个体工商户是小微吗
  • uniapp全局对象
  • linux中的文件
  • 用java做项目
  • 可以转增资本的有哪些科目
  • 其他货币资金属于资产类科目
  • 进项发票抵扣途中怎么办
  • 最贵的十张照片
  • 银行本票存款和银行存款的区别
  • 转让股权后公司资产
  • 生产企业计提车折旧年限
  • yolov3数据集格式
  • require.context()的用法详解
  • Vite4 + Vue3 + vue-router4 动态路由
  • Selenium.Webdriver最新语法教程(附Chrome实例演示)
  • 税控盘开票日期一般截止到下个月几号
  • 企业收入总额的计算公式
  • 增值税预征税率是多少
  • 帝国cms采集发布的文章链接打不开
  • 收到电子银行承兑汇票计入什么科目
  • 邀请客户参加会议
  • 房地产企业买地
  • 待抵扣进项税额转出会计分录
  • 终止经营损益列报 举例
  • 科目余额表数据包括
  • 发票报销有时间期限吗
  • 揭秘蒙娜丽莎25恐怖之处
  • 海外工作工资税收问题
  • MySQL中distinct与group by语句的一些比较及用法讲解
  • 公司给非本单位的个人转账有风险怎么平账
  • 当月购进原材料取得税控专用发票
  • 期初余额根据什么填
  • 对于财务的简单理解
  • 员工借款后离职怎么处理
  • 所附原始凭证的作用是
  • mysql版本信息
  • 盗版win8 1升级win10
  • xp系统要求
  • 操作系统 保护
  • 简述linux系统有什么优点
  • mac如何更改
  • win10 系统桌面
  • cpio压缩
  • linux命令使用例子
  • windows清除远程登录记录
  • vue 组件打包为npm
  • nodejs require原理
  • 2020 unity
  • jquery基础教程详解
  • js设置按钮禁用和开启
  • 税务机关文化建设
  • 深圳市国家税务局赵雨婷
  • 税务系统党支部工作法
  • 企业所得税账务如何处理
  • 税收优惠政策有没有政府补助
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设