位置: 编程技术 - 正文

利用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制作数字验证码)

  • 版税是什么意思
  • 预交增值税附税税率
  • 公司职工餐费用怎样入账
  • 增值税多提了怎么处理
  • 减免税属于政府转移支付吗
  • 劳务派遣差额计税公式
  • 利润表的利息费用怎么算出来的
  • 金税三期会查之前的票吗
  • 核算会计科目职工薪酬的范围
  • 公司支票可以存到个人账户吗
  • 一个公司帮另一个公司代付款
  • 预付材料款的会计分录怎么写
  • 货币基金可以投资
  • 税控盘基本信息设置
  • 季度申报表营业成本怎么填
  • 如何找确定劳动关系的证据
  • 商品流通企业批发销售会计分录
  • 修理时换下的废品配件怎么处理?
  • 领款凭证可以当收据吗
  • 外管证怎么开票
  • 关于房屋租赁备案的通知
  • win1020h2更新0x800f081f
  • 预收账款与应收账款为什么合并
  • 增值税专用发票有几联?
  • 在win7中,打开资源管理器的快捷键
  • cpu天梯图2022最新版1240p
  • thinkphp5.0自定义路由
  • php call方法
  • 代个人多交的社保怎么查
  • 如何用mac制作ppt
  • pqv2isvc.exe - pqv2isvc是什么进程 有什么作用
  • 入库前仓储费用应计入
  • php设计模型
  • php设计思路
  • 销售机构人员工资属于管理费用吗
  • 延期收款利息如何缴税
  • 长期投资对投资方财务状况的实质性影响有哪些
  • 向客户收费
  • 股权激励费用摊销计算
  • php xml转字符串
  • Vue3通透教程【二】更高效的构建工具—Vite
  • 出口退税退下来还得缴税吗
  • 企业年报网上申报入口贵州
  • 小微企业认定标准 税务
  • 制药企业客户退货流程
  • 农民工的劳务报酬个人所得税怎么那么高
  • 结转成本费用
  • 接待客人的本地人叫什么
  • 织梦dedecms如何升级ckeditor
  • 利润分配贷方余额怎么处理
  • 如何开具房屋租赁登记备案证明
  • 偿债基金专户
  • 独立核算好处
  • 免抵退的定义
  • 预计销售收入增长率怎么算
  • 技术服务费怎么做分录
  • SQL中exists的使用方法
  • win8更改桌面位置
  • linux系统 虚拟机
  • windows怎么查
  • 双系统怎么卸载系统
  • centos如何设置网卡
  • linux 禁用root
  • 苹果Mac系统怎么装
  • 如何使用升级助力器
  • 在windows7中,下列叙述中错误的是
  • win8系统搜索不到wifi
  • cocos2dx 2.2.2
  • ftp自动上传脚本怎么用
  • 九九乘法表报
  • javascript解码与编码
  • 黑马程序员学费多少钱2018
  • shell脚本识别十六进制数
  • 深入理解中国式现代化
  • 安卓智能设备指什么
  • 请问关于煤炭的法律法规
  • 朝阳区下面分几个区
  • 安徽省地方税务局刘利庆
  • 可以抵扣的消费税计入什么科目
  • 国税发票如何查真伪查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设