php根据身份证号码计算年龄
代码如下 | 复制代码 |
<?php function getAgeByID($id){ //过了这年的生日才算多了1周岁 if(empty($id)) return ''; $date=strtotime(substr($id,6,8)); //获得出生年月日的时间戳 $today=strtotime('today'); //获得今日的时间戳 $diff=floor(($today-$date)/86400/365); //得到两个日期相差的大体年数 //strtotime加上这个年数后得到那日的时间戳后与今日的时间戳相比 $age=strtotime(substr($id,6,8).' +'.$diff.'years')>$today?($diff+1):$diff; return $age; } ?> |
今晚在写框架的表单验证类时,需要判断某个字符串长度是否在指定区间内,很自然地,想到了PHP中的strlen函数。
代码如下 | 复制代码 |
|
测试一下中文
代码如下 | 复制代码 |
$str = '你好,世界!'; |
PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得 到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍的差异了(在 UTF-8编码下,一个汉字占3个字节)。
下面这个实例摘自大名鼎鼎的WordPress,非常精确的哦,另外需要注意的是本函数仅适用于utf-8 编码下的字符串。
代码如下 | 复制代码 |
|
但以上代码在UTF-8编码下并不能处理GBK/GB2312的中文字符串,因为GBK/GB2312的中文字符会被识别为两个字符而计算出来的中文字符数量会翻倍,于是我想到了这么一个办法:
代码如下 | 复制代码 |
$tmp = @iconv('gbk', 'utf-8', $str); |
可兼容GBK/GB2312及UTF-8编码,经小量数据测试通过,但暂未确定是否完全正确
如果让你大家操作数据库替换内容非常的简单,但是txt文件要如何操作呢,下面我来给大家分享了个替换实例。
代码如下 | 复制代码 |
$file_path = '123.txt'; |
昨天帮客户修改完侧边栏,以为终于可以透一口气了,结果临下班的时候,他居然又发消息过来,说需要在每篇文章下边加一个标签,随机显示他们公司的12个业务的广告词。确定了需求,那就动手吧。
其实蛮简单的,先预定义一个数组存储这12个广告词,如
代码如下 | 复制代码 |
$option = array('广www.111cn.net词1','广告词2','广告词3','广告词4','广告词5'); |
然后随机生成一个下标,
代码如下 | 复制代码 |
$index = rand(0, count($option)-1); |
一般情况下,为了扩展方便,最好是将这个数据存入数据库或者xml,不过思路是一样的。
除了上面办法我们可以使用array_rand() 函数,此函数数组中随机选出一个或多个元素,并返回。
例子 1
代码如下 | 复制代码 |
<?php |
输出:
b
在程序调试时如果在本地我们出现500错误可以直接打开php.ini的错误来看到哪里错了,但在服务器中我们是不能这样做的,这样很容易让人感觉网站不正规的同时也可能给其它人看到你网站WEB路径及相关安全数据了,那要如何处理500错误呢,下面我们一看一个方法。通常程序发生致命错误的时候页面空白,想获取错误信息也不难!主要是利用两个函数:
error_get_last() 获取最后一次发生错误信息:结构如下:
代码如下 | 复制代码 |
|
register_shutdown_function()在脚本停止执行时注册一个回调函数
有了这两个函数就可以监控致命错误了:
代码如下 | 复制代码 |
error_reporting(E_ALL); //E_ALL |
顺序附本地服务器测试方法
下面来说说显示PHP错误提示消息的三个方法。
一:php.ini配置
php.ini配置中与此相关的有两个配置变量。下面是这两个变量及其默认值:
代码如下 | 复制代码 |
display_errors = Off |
display_errors 变量的目的很明显 —— 它告诉PHP是否显示错误。默认值是 Off。现在我们的目的是显示错误提示,那么:
代码如下 | 复制代码 |
display_errors = On |
E_ALL,这个设置会显示从不良编码实践到无害提示到出错的所有信息。E_ALL 对于开发过程来说有点太细,因为它连变量未初始化也显示提示,而这一点正是PHP“高级”的一个特征。幸好,error_reporting的默认值是“E_ALL & ~E_NOTICE”,这样就只看到错误和不良编码了,对程序无不利的提示则不会显示。
修改php.ini后需要重新启动Apache,这样才可以在apache中生效,当然你如果只在命令行下测试程序,是不需要这一步的。
配置php程序中
代码如下 | 复制代码 |
<?php |
相关文章
- 下面来给各位同学介绍一个php身份证校验码的计算例子,希望本函数代码能帮助到各位同学哦。 例子 代码如下 复制代码 public function id_ver...2016-11-25
- 在php中我们如果要导入excel数据我们通常会使用phpexcel插件了,但是有朋友会发与使用phpexcel导出数据出现身份证后四位是0000情况了,下面我们就来看解决办法。 最...2016-11-25
- 这篇文章主要介绍了基于javascript实现根据身份证号码识别性别和年龄的相关资料,需要的朋友可以参考下...2016-01-24
- 这篇文章主要介绍了C#实现验证身份证是否合法的方法,实例分析了通过自定义函数实现针对身份证合法性验证的技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
- 直接上代码,逐行对代码进行研究,一定会有所收获。function nunber(allowancePersonValue){ if(allowancePersonValue=="身份证号"){ $("#span_username").show(); $("#span_username").html("身份证号不能为空"); r...2015-10-21
- 我们只要知道身份证的生成规则就可以了,像下面我们从指定位置到多少位就是出日期了,然后我们把日期转成时间戳然后进行加减运算就得出了年龄了,下面我们看实例。 ...2016-11-25
- 这篇文章主要介绍了基于C#技术实现身份证识别功能的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 这一篇关于C#语言验证18位身份证号码的验证方法和实例代码,感兴趣的朋友可以参考一下...2020-06-25
- 本文给大家分享尝试使用php语言实现身份证校验码以此来判断用户的身份证号码是否正确...2016-08-27
- 这篇文章主要介绍了js实现根据身份证号自动生成出生日期,需要的朋友可以参考下...2015-12-17
- 这篇文章主要为大家详细介绍了C#根据身份证号码判断出生日期和性别的方法,感兴趣的小伙伴们可以参考一下...2020-06-25
- 这篇文章主要介绍了PHP实现中国公民身份证号码有效性验证示例代码,可以判断身份证号码的正确性,非常具有实用价值...2017-05-08
- 身份证号码中的校验码是身份证号码的最后一位,是根据中华人民共和国国家标准GB 11643-1999中有关公民身份号码的规定,根据精密的计算公式计算出来的,我们下面来看利用PH...2016-11-25
- 因做项目需要,参考网上资料写了一个身份证验证的C#方法,本方法是在VS2005[C/S] 下写的。前面2个是网友们的实现方法,第三个才是项目中使用的哦,小伙伴们参考下吧。...2020-06-25
- 这篇文章主要介绍了SqlServer2000+ 身份证合法校验函数,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
- 本程序可以根据身份证信息来获取星座,生肖,性别,年龄等等一些相关的信息了,转的一个实例大家可参考。 代码如下 复制代码 <?php class Idca...2016-11-25
- 这篇文章主要介绍了C#身份证识别相关技术详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 本文主要介绍了PHP验证身份证是否合法的函数。具有很好的参考价值,下面跟着小编一起来看下吧...2017-02-18
- 身份证可以识别一个人的信息,下面就介绍一下如何利用js通过身份证号码获取当事人的年龄和性别...2016-01-24
- 朋友的一个网站导出会员信息时,导出的csv文件中的身份证号码显示为科学计数法,最后几位直接显示为0,解决的办法其实很简单 其实这个问题跟用什么语言导出csv文件没有...2016-11-25