位置: 编程技术 - 正文

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

  • 完税证明是可以抵扣吗
  • 抗税的性质
  • 一般纳税人是什么型企业
  • 增值税纳税义务确认时间
  • 土地增值税计入税金及附加吗
  • 长期应收款的计税基础 陈版
  • 印花税应计入什么账户
  • 决算报表与账不一致怎么调账
  • 公司无偿更换产品账务如何处理
  • 赠品不开票如何做账
  • 销项税额转出减去还是加上
  • 企业的现金流量表反映的是什么
  • 购房契税应该交给谁
  • 兼营行为的税务处理办法
  • 多借多贷的会计分录格式
  • 行政单位暂付款怎么记账
  • 油费预付卡如何开发票
  • 工伤期间奖金发放标准
  • 增值税发票处理流程
  • 预缴增值税被挂账怎么办
  • 代建项目增值税税率
  • 对公账户收到个人汇款 退还
  • 进行财产清查
  • 报销单据粘贴单图片
  • 缴纳海关进口增值税
  • 个税申报错误怎么更改
  • 怎么知道一个公众号有多少人关注
  • 公司开业前启动大会
  • 有限公司股权怎么划分
  • windows11怎么设置ipv4地址
  • Windows11预览体验计划空白
  • mac os x v10.10
  • 免抵退税的账务处理
  • 来料加工方式中,料件和加工后成品的所有权
  • 固定资产加速折旧计算方法
  • 淘宝前端用什么写的
  • 房地产公司收到预售款缴纳印花税吗
  • 虚开增值税怎么查到的
  • django pycharm
  • webpack性能优化 加载
  • input输入语句
  • 年金现值系数和复利现值系数的公式
  • 小规模纳税人每月不超过10万
  • 一般纳税人销售旧货适用征收率是?
  • 厂房出租一年多少钱
  • 固定资产年限折旧方法
  • 修理费账务处理
  • 增值税的视同销售行为是有哪些?
  • 普惠性幼儿园是什么意思
  • 企业变更地址需要几天
  • 植物售卖
  • 迟到扣发工资
  • 高新技术企业认定条件
  • 工程检测费的会计分录
  • 展会赠品
  • 上一年度企业所得税汇算清缴会计分录
  • 预付账款怎么转
  • 总账建账要建全部科目吗
  • 帐簿的保管期限
  • sql作业怎么执行
  • win10系统环境设置
  • Win10预览版拆弹
  • linuxsleep函数
  • windows8whql
  • linux程序死机
  • cocos2dx4.0教程
  • 常用的加锁方式
  • ios平台中glsl中shadow2DProjEXT函数的简单说明以及变换矩阵的小注意点
  • js 数组取值
  • jQuery Real Person验证码插件防止表单自动提交
  • nodejs v8
  • node.js快速入门
  • shell脚本clear
  • 炉石传说用什么语言开发的
  • android studio i使用
  • js使用正则表达式对json对象的校验
  • 安卓圆角矩形图标
  • javascript中继承
  • python操作命令
  • 净缴税什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设