位置: 编程技术 - 正文

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

  • 什么是进项税额转出
  • 增值税进项税额加计抵减会计处理
  • 会计核算程序的含义
  • 摊销广告费会计分录
  • 团建费用会计怎么写记账凭证
  • 怎么看医疗报销单
  • 发票属于什么凭证类型
  • 人力资源劳务费发票税率
  • 以前年度的收入怎么调整
  • 增值税未实际收到款项可以抵扣吗?
  • 年末如何计提企税分录
  • 废旧物资增值税税收优惠政策
  • 分包发票怎么开对方可以差额纳税
  • 非同一控制下企业合并的交易费用
  • 购入生产使用的材料会计分录
  • 应收账款转让的会计处理
  • 兼职人员工资个税怎么申报
  • 未开发票申报
  • 增值税抵扣需要哪些附件
  • 上年未计提所得税会计
  • 自产货物自用账务处理
  • 退回社保费的会议记录
  • 建筑单位领用材料分录
  • 剑灵2.0win7
  • windows7iis安装
  • 会计科目按经济类型分类
  • qtask.exe - qtask是什么进程 有什么用
  • 其他应付款年末借方余额
  • ajax无刷新更新数据
  • 房地产企业前期物业费可否税前扣除
  • 高温费做账
  • el-tree方法
  • 代购货物的缴税情况
  • wordpress portfolio
  • 光下的村庄环境描写
  • php保存远程图片
  • 进项税额资产还是负债
  • 普莱斯德
  • 新年快乐彝文怎么写
  • 关于猿猴的作文
  • 底薪和提成分开发合法吗
  • 极速开票怎么打不开
  • 没有校验码的发票可以报销吗
  • 应收利息的会计处理方法
  • 以公司名义开的诊所算个体工商户吗
  • 应付账款的平行登记
  • 织梦如何开启会员功能
  • 投资收益借贷方代表什么
  • 建筑劳务单位
  • 公司收取保证金合法吗
  • 增值税零税率与免税谁更优惠
  • 股票股利发放形式是什么
  • 研发支出如何做账
  • 固定资产报废时,后续未折旧额计入哪里
  • 收回已确认并转销的应收账款会导致坏账准备的金额增加
  • 给外国公司开发票有什么涉税风险
  • 财产租赁合同印花税计税依据
  • 营改增之后账务怎么处理
  • 开票金额和税款的关系
  • 金蝶当月没有账如何结转到下月
  • 流动资产合计怎么算
  • sql server临时表创建语句
  • win7自带画图软件
  • server core安装完成后按什么进行登录
  • asm是啥
  • win8系统怎么改win10
  • hpp是什么文件
  • 红帽企业版更新了吗
  • win7 如何截屏
  • win8打游戏
  • win8宽带错误651最简单解决方法
  • win8 资源管理器
  • android4.4w
  • SQLite -- 嵌入式关系型数据库
  • 基于javaweb的物流管理系统
  • Python文件处理
  • Tasharen Fog of War v1.0战争迷雾插件的使用(含Unity5.0Bug解决)
  • 举例讲解生产可能性曲线
  • 电子税务局用户名和密码是什么
  • 国家税务总局可以设定行政处罚吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设