位置: 编程技术 - 正文

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

  • 报销金额限制多少
  • 公司缴纳养老保险不在个人账户里吗
  • 金税四期上线后对企业的影响
  • 核定征收需要什么条件
  • 自产自销的苗木怎么做账
  • 支付劳务费需要开发票吗
  • 汇总记账凭证会计核算组织形式适用于
  • 业务招待费可以开专票吗
  • 接受土地使用权作为投资属于什么凭证
  • 出售固定资产要交哪些税
  • 企业所得税国税还是地税征管
  • 淘宝开企业店铺需要什么资料
  • 小规模纳税人亏损交所得税吗
  • 已抵扣的进项税额怎么转出
  • 公司单位员工餐费怎么算
  • 科技项目经费怎么申报
  • 电商平台收取的手续费
  • 自行生产的存货转固定资产怎么做账
  • 购买商品未入库
  • 公司旅游费用怎么入账
  • linux系统安装谷歌浏览器教程
  • linux测验
  • 试乘试驾车入账分录
  • 一般纳税人企业所得税税率多少
  • 收入成本科目
  • 收购农产品进项税抵扣税率是多少
  • 过路费进项税抵扣填在纳税申报的哪行
  • 固定资产非正常损失进项税
  • Symfony2 session用法实例分析
  • PHP:imagegrabscreen()的用法_GD库图像处理函数
  • 一条指令可以完成一项复杂任务吗
  • 软件服务费应计入什么
  • npm安装node指定版本
  • 增量留抵税额是
  • 直连路由,静态路由
  • 【手撕Transformer】Transformer输入输出细节以及代码实现(pytorch)
  • jedis命令
  • php实现的http请求封装示例
  • 交通银行手机银行网页版
  • emacs scheme
  • 增值税系统技术维护费抵扣只能当月申报
  • 企业注销前的账务处理
  • 需要计提坏账准备吗
  • 开具增值税专用发票的规定
  • 数据库my sql
  • 侵权赔偿补偿金如何计算
  • sql注入攻击代码
  • 土地使用权被政府收回要交个税吗
  • 借递延所得税资产贷递延所得税费用
  • 进项留底是什么科目
  • 费用报销单怎样写记账凭证呢
  • 临时设施摊销属于什么资产
  • 进口形式发票能证明商品是进口的吗
  • sqlserver (parse name)字符串截取的方法
  • xp系统打开服务器管理
  • windows server 2008 r2怎么用u盘启动
  • win7麦克风没声音怎么设置方法从计算机
  • windows8.1分辨率
  • 如何设置windows hello
  • win10怎么关掉
  • windows7如何安装net framework4.0
  • 收藏了很久的句子
  • perl 采集入库脚本分享
  • jquery layer
  • nodejs npm install全局安装和本地安装的区别
  • javascript获取css
  • html5webview交互
  • js动态生成的id怎样获取
  • NGUI之UICamera
  • javascript 基础篇2 数据类型,语句,函数
  • nodejs详解
  • unity-chan
  • js画矩形
  • 用javascript
  • jquery里面的$是什么意思
  • androidstudio快速入门
  • 开票怎么查发票总额
  • 税务稽查协查管理办法 国家税务总局
  • 自然人办税服务平台怎么登录不进?
  • 税务全面从严治党工作会议讲话稿
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设