位置: 编程技术 - 正文

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

  • 销项税大于进项税时怎么处理
  • 税收滞纳金调增填哪张表
  • 政府补助属于不征收收入汇算清缴怎么填写
  • 发票已经做账但要退款账不平咋办
  • 审计查账查什么
  • 钱收多了退回去怎么说好
  • 小微企业和小规模纳税人的区别
  • 科目汇总表的登记方法
  • 加工皮革出口能申请退税吗
  • 小微企业增值税起征点是多少
  • 商业保理公司票据贴现账务处理
  • 房地产企业代收的取暖费如何纳税
  • 收到高新企业补助款分录
  • 超过诉讼时效的答辩状怎么写
  • 冲减预付账款怎么记账
  • 持有至到期投资核算内容
  • 月初缴纳的保险是当月的吗
  • 所得税营业成本包括哪些
  • 30万的装修工程利润一般是多少
  • 汽车折旧年限与什么有关
  • 怎么计提企业所得税
  • 反倾销税税率查询
  • 学校有税号可以收专票吗
  • 财务费用是否存入银行卡
  • 车船税计入什么费用
  • 无偿使用房屋
  • 企业停产没有收入,费用可以计入长期待摊费用吗
  • 鸿蒙系统怎样关闭音乐
  • win10闹钟设置方法
  • 工地购买的零星材料计入什么科目
  • 怎么看iPhone电池温度
  • 增值税发票红冲后税款怎么办
  • php开启pdo
  • PHP:zip_entry_name()的用法_Zip函数
  • 累积未分配利润为负可以分红吗
  • STP详解
  • 150m迷你型无线路由器怎么用
  • 4月满月是几号
  • 独立核算的基金是会计主体吗
  • 营改增后土地增值税如何计算
  • 2023前端面试题目
  • svg symbol
  • 建筑业的印花税是按含税还是不含税?
  • 推荐几个比较好用的
  • 营改增后不得抵扣的进项税额
  • vue前端页面设计
  • sql server数据库异地备份
  • 固定资产清理的借贷方向
  • 其它应付款的审计内容
  • 基本存款账户可以办理
  • 利润表中的所得税费用包括哪些
  • 公账转法人私账用途写备用金可以吗
  • 出口企业有哪些税收
  • 权益性投资收益按照什么确认收入的实现
  • 车辆购置税可以退税吗
  • 应收账款期初余额错了怎么调整
  • 年平均资金占用额公式
  • 收到快递赔付款怎么做账
  • mysql的知识点
  • SQLserver导入Excel文件到表
  • mysql更新表中的数据
  • win8正版系统
  • mac app store打开一片空白
  • 注册表.bak
  • 电脑总是关不了怎么办
  • onekey driver version是什么软件
  • macbook桌面2
  • linux 使用技巧
  • win10开机显示recover
  • JavaScript浏览器扩展
  • android从服务器获取数据
  • jQuery使用$.ajax提交表单完整实例
  • shell 时间运算
  • python第三方库的安装方法有哪些
  • android局部界面切换
  • 江西电子税务局官网
  • 四川税务局网上办事大厅
  • 企业投资项目备案表模板
  • 个体诊所可以申请医保报销吗
  • 广东省国家税务总局稽查局局长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设