位置: 编程技术 - 正文

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

  • 哪些资产损失应向税务机关申报扣除?
  • 个人所得税如何查询工资
  • 固定资产怎么确定是否减值
  • 怎么查企业适用哪个会计制度教学视频
  • 电子承兑到期怎么操作流程
  • 银行网银服务费做什么科目
  • 资产负债表里的固定资产是原值还是净值
  • 符合条件的居民企业之间股息红利
  • 税控专用设备抵扣分录
  • 没有收入要做应交税费的会计分录
  • 什么是差额增收
  • 无偿受让股权的股东对发起股东没有出资承担责任
  • 工会筹备金怎么改成工会经费
  • 固定资产折旧在资产负债表属于什么
  • 应付账款核销法律规定
  • 业务宣传费和广告费计入什么科目
  • 收到汇算清缴退税的现金流量
  • 制造企业材料返回流程图
  • 年报中包括处置资金吗
  • 新办企业税务办理
  • 缴纳的教育费附加可以税前扣除吗
  • 外购已税化妆品生产的护肤护发品
  • 借贷记账法的记账规则是
  • 发放的工资比计提的多怎么办
  • 缴纳人身意外保险凭证是什么
  • 服务器centos6.9安装教程
  • 收入记借方
  • 公司已开票给客户,但客户未打款怎么办?
  • windows优化设置
  • 什么是增值税进项税额和销项税额
  • 微软windows11iso
  • npfmntor.exe - npfmntor是什么进程 有什么用
  • vue3.0解决跨域
  • php调用sql server存储过程
  • 杜鹃花的养殖方法和修剪
  • PHP:imagecolorstotal()的用法_GD库图像处理函数
  • 苏门答腊岛海岸线多少
  • 生产企业的成本有哪些
  • 固定资产清理主要核算什么
  • php字符串定义
  • 缺陷修饰
  • 职工福利费属于短期薪酬吗
  • 企业收到发票冲销怎么办
  • 港口公司属于什么性质的单位
  • 计提本月工资社保怎么扣
  • 树结构ADT知识点思维导图
  • python中返回结果为true
  • 企业所得税营业收入怎么填
  • 发票管理办法是法律吗
  • mysql在表中添加一个新的属性
  • 企业不需要交残保金吗
  • 工业企业中制造费用包括哪些内容
  • 坏账准备如何计算
  • 出口货物进项税额转出的原理
  • 其他应付现金流量表
  • 基建待摊费用如何分摊
  • 公司买汽车计入什么费用
  • 农业行业增值税
  • 账户信息变更说明
  • 过路费抵扣进项税
  • 实收资本包括哪些项目
  • mysql分区表优劣分析
  • win7网络不好怎么办
  • linux 系统监控
  • linux安装软件可以用哪些方式
  • rapapp.exe - rapapp是什么进程 有何作用
  • 升级win10怎么激活
  • mac版本itunes
  • .mcp是什么文件
  • 启动windows安全中心
  • win7误删我的文档
  • python创建二维数据表
  • opengl超级宝典第八版 pdf
  • python爬虫爬取京东某个商品
  • nodejs webapp
  • jquery时间戳转换日期格式
  • jquery ui autocomplete
  • android颜色值
  • 陕西税务纳税服务平台
  • 税务局的人为什么那么拽
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设