PHP身份证号打星号

2019-06-12 22:34:16

一个很简单的问题,想把身份证的号生日的4位隐藏,一开始查函数居然没有看到,然后用了好几个函数处理,觉得太麻烦就上网搜,后来发现有一个函数就能直接处理,我居然没看到~~初学者~~

    记录一下:

定义和用法
substr_replace() 函数把字符串的一部分替换为另一个字符串。
语法
substr_replace(string,replacement,start,length)

参数描述
string    必需。规定要检查的字符串。
replacement

    必需。规定要插入的字符串。

start
  • 必需。规定在字符串的何处开始替换。

  • 正数 - 在第 start 个偏移量开始替换

  • 负数 - 在从字符串结尾的第 start 个偏移量开始替换

  • 0 - 在字符串中的第一个字符处开始替换

length
  • 可选。规定要替换多少个字符。

  • 正数 - 被替换的字符串长度

  • 负数 - 从字符串末端开始的被替换字符数

  • 0 - 插入而非替换

再附一个三元运算符加深记忆:

echo strlen($idcard)==15?substr_replace($idcard,"****",8,4):(strlen($idcard)==18?substr_replace($idcard,"****",10,4):"身份证位数不正常!");

多个三元嵌套时,需要用括号括起来:

// 乍看起来下面的输出是 'true'
echo (true?'true':false?'t':'f'
);
// 然而,上面语句的实际输出是't',因为三元运算符是从左往右计算的


// 下面是与上面等价的语句,但更清晰
echo ((true 'true' 'false''t' 'f'
);


  • 2019-10-19 11:22:49

    window安装ffmpeg-concat出现的坑和解决办法

    最后还是选择了fluent-ffmpeg,没特效就没特效吧。最起码有声音吗。 ffmpeg-contact也可以有声音,但是需要先提取出来再合并进去,不知道能不能有效同步,果断放弃。

  • 2019-10-19 13:37:44

    v-model里使用过滤器

    档所述过滤器只能用在v-bind指令和{{}}表达式中,v-model中使用过滤器是一种思维误区。 因为v-model里实现数据显示和存储格式的转换应该是双向的。如下例:

  • 2019-10-19 16:35:45

    Vue.directive使用注意

    首先,Vue.directive要在实例初始化之前,不然会报错,还有,定义的指令不支持驼峰式写法,也会报下面同样的错,虽然在源码中没有找到在哪里统一处理大小写,但是在有关directive的方法中捕捉到的指令命名统一变为小写,所以,还是用'-'或者'_'分割吧。

  • 2019-10-21 08:39:54

    vue slot用法以及使用介绍

    通过上面的内容可以知道,在slot组件中引入了slot的子组件,而且又在子组件标签内添加了新的标签内容,但页面上并没有将子组件标签内的标签内容显示出来,

  • 2019-10-21 15:06:27

    yarn详细入门教程

    Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm 面临的少数问题,即:

  • 2019-10-23 10:20:48

    php 去掉 头尾 空格 2种方法

    看似很简单的问题,其实还是有点坑的,首先这里 空格转义,不是字符串,直接用trim()是去不掉。