位置: 编程技术 - 正文

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

  • 个人所得税 补觉
  • 新个税年终奖计算公式
  • 资产负债表的累计折旧期末数怎么填
  • 契税为什么计入成本
  • 销户之后可以重新申请吗
  • 全国通用机打销售票违法吗
  • 视同内销补税的财务处理
  • 固定资产与累计折旧有对应关系吗
  • 物业公司是小规模纳税人税率是多少
  • 外购生物资产的成本不包括
  • 联营返点收入账务处理
  • 补交增值税怎么处理
  • 材料短缺赔偿会计分录怎么写?
  • 地下建筑如何防潮
  • 上年度的费用今年开票分录
  • 检查所得税发现纳税差异如何调账?
  • 租赁固定资产折旧计入
  • 哪些票据可以冲抵增值税
  • 兼职劳务费个税怎么算
  • 新会计准则下建筑业会计科目设置
  • 小微企业免税的会计分录怎么写
  • 预计资产未来现金流量的期限
  • 净资产收益率怎么求
  • 欧罗巴山国家公园旅游攻略
  • vue的watch监听
  • 金店个体户报什么税
  • 企业清算期间会计分录
  • 小规模纳税人减半征收的六税两费
  • php ioc
  • 报销差旅费的会计分录为什么是其他应收款
  • 增值税业务发生的时间
  • php实现自动识别的方法
  • javascript获取数组索引
  • 微信小程序支付接口调用
  • java web中的转发和重定向
  • php如何做app
  • mongodb cond
  • 什么是子公司 和控股的区别
  • 企业结售汇业务需要做什么
  • 酒店如何控制成本汇报怎么写
  • 党费会计核算科目有哪些
  • 企业计提五险一金会计分录怎么写
  • 未分配利润实际没有钱分配是什么原因
  • 商场联营方案
  • 调整以前月份的管理费用怎么做
  • 银行承兑贴现需要多久
  • 增值税计提多了已经跨年度怎么办
  • 淘宝卖家运费险为什么越来越贵
  • 产品质量的保证需要哪几方面的支持
  • 半成品会计处理流程
  • 销售退回的账务处理会计分录图片
  • 个体工商户必须建账吗
  • 租写字楼水电费自己付吗
  • 固定资产公司
  • Mysql中LAST_INSERT_ID()的函数使用详解
  • 完美解决MySQL通过localhost无法连接数据库的问题
  • windows7快速截图
  • win8.1设备管理器设置步骤
  • xp系统乱了,怎么恢复
  • win7系统桌面设置
  • 如何调整windows桌面图标大小
  • mac idle
  • yum providers命令
  • win8电脑怎么设置定时开机
  • win8.1卸载软件在哪里
  • 哪些游戏是c#开发的
  • Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
  • 优化了一些已知问题是什么意思安不安装
  • tf-idf例题
  • 用python写随机数
  • unity二段跳
  • unity jsonobject
  • android 加载更多
  • Android中dip、dp、sp、pt和px的区别
  • jquery里面的$是什么意思
  • android自学
  • 怎么打印纳税申报单
  • 国内进口税最低是哪里
  • 汉口市中心
  • 企业的财务是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设