位置: 编程技术 - 正文

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

  • 企业出售资产要交增值税吗
  • 利息收入交所得税吗
  • 公司被员工劳动仲裁
  • 一般纳税人进项销项抵扣如何做账
  • 冲销暂估原材料
  • 公司期权激励如何兑现
  • 增值税何时需要交税
  • 贸易公司的成本有哪些
  • 卖废品开发票开什么货物名称
  • 红字发票认证
  • 合伙企业有一般账户吗
  • 三栏式明细账科目编号怎么填
  • 购进农产品取得3%专票怎样计算抵扣举例
  • 股票印花税最新政策2023怎么算
  • 行政单位无法支付怎么办
  • 退货但发票不冲销
  • 企业所得税汇算清缴退税分录
  • 非独立核算的分公司如何报税
  • 文化事业建设税计算方法
  • 退以前年度所得税会计分录
  • 预提工资是什么科目
  • 汽车中介赚钱吗
  • 金融机构计提减值准备
  • 免税单位无租使用房产怎么缴纳房产税
  • 原材料对外投资进项税额可以抵扣吗
  • 新版关闭edge地址栏建议
  • 企业在进行会计核算时选择一种不多计资产
  • 什么是差额征税劳务费
  • 先开票后发货怎么操作
  • win10怎么自定义开机音乐
  • 未付款的增值税发票可以抵扣吗
  • 公司向股东还款的会计分录
  • win7纯净版系统之家
  • php单独运行
  • 进项税额的账务处理
  • 员工购买住房公积金申请
  • 办公楼装修费两万合理吗
  • three.js入门指南
  • php动态生成网页
  • php正则匹配中文
  • 增值税发票认证抵扣时间规定
  • yolo改进方法
  • iframe之间通信
  • php导出带样式的数据库
  • 收到保险公司的车赔款会计分录怎么写
  • 公益性捐赠递延注会
  • 秸秆回收加工项目
  • python中的元组
  • 2022最新款带采集功能抖音壁纸小程序源码
  • 门面出租需要什么手续
  • sql server 2008简介
  • sqlserver2005数据库磁盘满了什么文件能删
  • 结转损益类科目余额
  • 收到销售方负数发票可以次月入账吗
  • 进货没开票销售开票了
  • 月末如何计提增值税附加及增值税
  • 福利费发票抵扣了有什么后果
  • 研发费用如何做账
  • 发票必须与合同明细对应吗
  • 农产品加计扣除怎么计算
  • 工程预算费用怎么做会计分录
  • 收到劳务费发票如何申报个税
  • 股东现金存入公司账户,该如何做账?
  • sql2008没有数据库
  • 怎样从sql数据库取数据
  • VMware虚拟机安装miui14
  • xp系统电脑文件损坏怎样修复
  • Mac系统PPTP VPN图文设置教程
  • Ubuntu14.04 的 SSH 无密码登录的设置方法
  • linux日志内容
  • 虚拟机里面如何设置网络
  • windows10开机黑屏
  • node.js连接数据库的代码
  • 安卓病毒查杀软件
  • unity3d开发流程
  • Intermediate Unity 3D for iOS: Part 3/3
  • javascript操作网页
  • 秀屿区国税局服务电话
  • 国企人事处长是什么级别?
  • 江苏印花税申报操作流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设