位置: 编程技术 - 正文

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

  • 集体房屋出租管理办法
  • 货物运输代理服务
  • 小规模纳税人普票和专票怎么交税
  • 茶叶自产自销成本核算
  • 如何根据资产负债表填写现金流量表
  • 股东分红是净利润还是毛利润
  • 固定资产减少当月
  • 审计核减理由
  • 非财政拨款结余是什么科目
  • 有限合伙企业合伙人责任
  • 汽车保险费可以抵扣吗
  • 现金账记错了该如何改正
  • 行政单位拨给下属单位经费会计分录
  • 物业公司收取供热管道内网的维护费用合理吗
  • 职工取暖费计入什么科目
  • 股权投资损失该如何做账务处理及税前扣除相关规定
  • 企业之间借款该怎么做账
  • 金税三期个人所得税怎么下载
  • 十万位发票怎么开
  • 普通发票打歪了可以用吗
  • 小微企业减免的增值税账务处理
  • 预收账款增值税和消费税纳税时间
  • 金税盘?
  • 主营业务收入明细账图片
  • 收到上级补助收入支出时财务会计怎么记账
  • 接受国外企业捐款的条件
  • 公司 期货投资
  • 浏览器标签栏
  • 银行贷款核销后还产生利息吗
  • 发代扣代缴手续费个税免
  • 进口付汇业务流程
  • laravel实战教程
  • 远眺格斯韦因斯泰因村和格斯韦因斯泰因城堡 (© Juergen Sack/Getty Images)
  • 小企业法人怎么交社保
  • php类的作用
  • php批量替换
  • 财行〔2019〕11号代扣代缴手续费的解读
  • 新版python
  • php字符串定义
  • 货运代理约柜费怎么算
  • 购买农产品取得增值税普通发票可以抵扣吗
  • 合同没有约定发票税点谁承担怎么办
  • 企业单方面调整员工的工作岗位
  • 资产减值损失属于
  • 民间非营利组织财务管理制度
  • 分期收款销售的特点是描述正确的是
  • 转让股权溢价账务处理会计分录
  • 中级会计报名必须满4年吗
  • 公司支票可以转给个人吗
  • 车保险会计怎么做分录
  • 交易性金融资产属于流动资产
  • 公司的房租发票怎么记账
  • 工业企业成本核算的一般程序包括下列的
  • 正常存货周转率多少次合适
  • 合并报表编制方法有几种
  • 上市公司做会计有什么好处
  • 内帐与外帐的哪个更好
  • php连接mysql的步骤代码
  • sql server 2005数据备份
  • 史上最全的mysql基础教程
  • 潘 pan
  • linux CentOS WEB服务器分区方案
  • win10显示win8
  • OpwareSE2.exe - OpwareSE2是什么进程 有什么用
  • Linux服务器端口状态
  • linux如何使用
  • linuxat命令的用法
  • 如何深度理解
  • shell脚本判断一个字符串是否为空
  • node.js做服务器
  • android采用什么软件架构?
  • angular js表达式
  • js关闭子窗口
  • js并且判断
  • cocos2d怎么用
  • android开发范例实战宝典
  • jquery弹出提示框
  • Android中使用HttpURLConnection和HttpClient实现GET和POST请求访问网络
  • 减免性质代码是什么意思
  • 企业所得税按开票金额的多少计算税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设