位置: 编程技术 - 正文

利用PHP将部分内容用星号替换(利用php计算1+2+3+...+100)

编辑:rootadmin

推荐整理分享利用PHP将部分内容用星号替换(利用php计算1+2+3+...+100),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:利用php将部分内容删除,php使用中以下哪些函数可以向文件中写入内容,用php写一段代码,实现不使用,用php写一段代码,实现不使用,php怎么运用,利用php将部分内容删除,利用php将部分内容导出,利用php将部分内容删除,内容如对您有帮助,希望把文章链接给更多的朋友!

在最近的项目中,会碰到到某人的手机号码隐藏中间几位,身份证号码只显示末尾4位的需求。当时一开始是网上搜索了一下,看到有人是用substr_replace这个函数来替换的,后面我也用了这个函数,但在用的时候不是很好用。

一、substr_replace先来看看这个函数的语法:

参数 描述 string 必需。规定要检查的字符串。 replacement 必需。规定要插入的字符串。 start

必需。规定在字符串的何处开始替换。

 正数 - 在第 start 个偏移量开始替换

 负数 - 在从字符串结尾的第 start 个偏移量开始替换

 0 - 在字符串中的第一个字符处开始替换

charlist

可选。规定要替换多少个字符。

  正数 - 被替换的字符串长度

  负数 - 从字符串末端开始的被替换字符数

  0 - 插入而非替换

1、当start与charlist都为正数的时候,非常好理解,也很符号人的逻辑,start是从0开始的,如下图,根据条件,绿色的将是要被替换的元素

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_d3fede6e3.png" alt="查看图片" />

2、当start为负数,charlist为正数的时候,也挺好理解的

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_d3fedc4.png" alt="查看图片" />

3、当start为正数,charlist为负数的时候,这个我一开始理解错了

利用PHP将部分内容用星号替换(利用php计算1+2+3+...+100)

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_d3fedaf.png" alt="查看图片" />

4、当start为负数,charlist为负数的时候,有一个地方需要注意的就是:如果 start 是负数且 length 小于等于 start,则 length 为 0。这个坑挺容易踩到的

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_d3fed8be.png" alt="查看图片" />

5、charlist为0的时候,就变成插入了,而不是替换,额。。。

用下来,我是感觉不是很顺手,虽然说满足我现在的需求还是可以的,但是如果将来需要一些扩展的话,耍起来挺吃力的,所以就想到自己构造一个,将来用起来也方便。

二、自制的星号替换函数

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_d3fed.png" alt="查看图片" />

前面的两个参数与上面的一样,最后的参数与上面不同

1、当start与length都为正数,与substr_replace表现的一样

2、当start为负数,length为正数,与substr_replace表现的一样

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_d3fedc.png" alt="查看图片" />

三、源码分享

不擅长算法,这里就用很普通的逻辑来展示啦,没有用到啥数学公式。

1、if($start >= 0)这里做start大于等于0与小于0的分支

2、在start 的分之中,分别再做length 大于0,小于0和等于0的三个分支

3、最后计算出start、count和要替换的星号字符串,最后计算出的start与count都是正数,运用substr_replace做替换

四、单元测试

标签: 利用php计算1+2+3+...+100

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

上一篇:两种php给图片加水印的实现代码(php图片叠加)

下一篇:php数字运算验证码的实现代码(php制作数字验证码)

  • 从价计征房产税怎么算 原值和出租房原值
  • 餐饮业可以开增值税专用发票吗?
  • 公司给员工租的宿舍怎么交税
  • 进项税抵扣
  • 土地出让金计算方法
  • 其他业务利润怎么算公式
  • 运输费计入采购成本的分录
  • 进口关税完税价格
  • 金税盘维护费抵税会计分录
  • 专票已经抵扣购买方如何处理
  • 银行承兑汇票上的承兑日期
  • 信用减值损失编码
  • 小规模纳税人贷款利息收入增值税税率
  • 景区门票 报销
  • 法人可以公司账户存款吗
  • 没有银行回单可以用付款凭证
  • 背书人账户名称填什么
  • 监控 固定资产
  • RegSrvc.exe - RegSrvc是什么进程 有什么用
  • dl是什么文件
  • 固定资产内部抵消例题
  • url是什么软件
  • 土地增值税增值额怎么算
  • axios怎么使用
  • 赊销商品属于什么信用
  • 城市赚钱项目
  • 一条指令可以完成一项复杂任务吗
  • 南极岛在哪
  • 物业公司收的物业费用干什么了
  • joomla模板制作教程
  • 机器学习——图像分类
  • HTTP 协议
  • vue-router + element-plus实现面包屑导航栏和路由标签栏
  • 【历史上的今天】3 月 29 日:“机器人三定律”问世;电脑动画首次获得奥斯卡;Caldera Linux 沉浮史
  • 如果企业一直亏损不交所得税会被税局稽查吗
  • 建筑公司收到的劳务费发票
  • 用友t6成本核算
  • 本月增值税申报截止日
  • 完美解决怠速抖动加油就平稳
  • 供应商质量考核评估表样板
  • mysql数据库如何回滚
  • SQL(MSSQLSERVER)服务启动错误代码3414的解决方法
  • 停工损失会计科目
  • 民非企业是否可以做酒
  • 增票普票税率
  • 发票收款人和复核人在哪儿政
  • 预付账款的账务处理视频教程
  • 公司使用pos机
  • 利润表主营业务收入怎么算
  • 销售货物的运费的税率怎么算
  • 个税里的年金是指
  • 交通运输服务费税率
  • 计提工资的凭证要附单据吗
  • 场地租赁都需要交什么税
  • 提前还贷款计算机
  • mysql5.7.29安装
  • mysqlpid文件没有
  • windows key查询
  • debian系统如何安装软件
  • mac如何设置环境变量
  • vc_mbcsmfc.exe是什么
  • windows怎么查
  • macbook怎么关闭设置上的1
  • linux 压缩包zip
  • win8如何打开设置
  • pruttct.exe - pruttct是什么进程 有什么用
  • gb4.exe
  • win7网络连接不见了
  • WIN10系统中软件打开找不到网络共享盘
  • Nodejs Express4.x开发框架随手笔记
  • angular的ngif
  • bootstrapcdn
  • unity动画animator
  • jq绑定事件的方法有哪些
  • javascript !
  • 静海去天津的公交
  • 生产企业税点
  • 江苏省发展改革委
  • 宝马535车船税
  • 2021西安雁塔区第一幼儿园运动会
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设