用生日java计算器源代码年龄,php编写代码!

当前位置:&&
php根据身份证号码计算年龄的实例代码
&&&&来源:&互联网& 发布时间:
&&&&diff&:&diff 命令比较文本文件。它能比较单个文件或者目录内容。&&&&代码&:&代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括惟一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。
源代码是代码的分支,某种意义上来说。&&&&return&:&eturn 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),。&&&&substr&:&ubstr是C++语言函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。
代码如下:&?php function getAgeByID($id){ //过了这年的生日才算多了1周岁
if(empty($id)) return '';
$date=strtotime(substr($id,6,8));//获得出生年月日的时间戳
$today=strtotime('today');//获得今日的时间戳
$diff=floor(($today-$date)/);//得到两个日期相差的大体年数 //strtotime加上这个年数后得到那日的时间戳后与今日的时间戳相比
$age=strtotime(substr($id,6,8).' +'.$diff.'years')&$today?($diff+1):$
相关技术文章: &&&&
代码如下:&?php/** * 抽奖 * @param int $total */function getReward($total=1000){ $win1 = floor((0.12*$total)/100); $win2 = floor((3*$total)/100); $win3 = floor((12*$total)/100); $other = $total-$win1-$win2-$win3; $return = array(); for ($i=0;$i&$win1;$i++) {
$return[] = 1; } for ($j=0;$j&$win2;$j++) {
$return[] = 2; } for ($m=0;$m&$win3;$m++) {
$return[] = 3; } for ($n=0;$n&$$n++) {
$return[] = '谢谢惠顾'; } shuffle($return); return $return[array_rand($return)]...... &&&&
本人主要是做ASP.NET开发的,但有时候也会接触到PHP,而且我认为PHP有很多源码值得学习,我们不是学习PHP代码的写法,而是学习源码的实现思路,或者免强叫为算法。
作为一名非专业的PHP开发者,想要较方便地读懂并搞清楚一个PHP功能模块的运行细节,搭建一个PHP调试环境,然后单步调试程序,以掌握程序的整个运行过程显的尤为重要。一、 准备安装文件
1、PHPnow-1.5.6。“PHPnow 是 Win32 下绿色免费的 Apache + PHP + MySQL 环境套件包。简易安装、快速搭建的 PHP 环境。”
2、ZendDebugger-5.2.14。Zend公司的PHP调...... &&&&
代码如下:&?php
//文件名:base64.php$data="/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2MBERISGBUYLxoaL2NCOEJjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY//AABEIADIAMgMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIz......&nbsp最新技术文章: &&&&
本节内容:
PHP函数microtime()
定义和用法
microtime()返回当前 Unix 时间戳和微秒数。
microtime()语法
microtime(get_as_float)
microtime()参数与描述
get_as_float 如果给出了 get_as_float 参数并且其值等价于 TRUE,该函数将返回一个浮点数。
microtime()仅在支持 gettimeofday() 系统调用的操作系统下可用。
如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。
代码示例...... &&&&
本节内容:
PHP单一入口
在apache配置文件httpd.conf加入,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的“#”号。
DocumentRoot /
&Directory /&
Options Indexes FollowSymLinks MultiViews
AllowOverride None
#AllowOverride All
&IfModule mod_rewrite.c&
RewriteEngine on
RewriteBase /
#不显示index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule
^/?(.*)$ /index.php?%{QUERY_STRING} [L,NC]
#RewriteRule ^(.*)$ index.php?$1 [QSA,L]
&/IfM...... &&&&
本节内容:
快速创建数组的函数range()和常见PHP数组排序的方法。
本文主要介绍php数组排序、降序的排序相关的内容。
sort:本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。
rsort:本函数对数组进行逆向排序(最高到最低)。 删除原有的键名而不仅是重新排序。
asort:对数组进行排序并保持索引关系
arsort:对数组进行逆向排序并保持索引关系
ksort:对数组按照键名排序,保留键名到数据的关联
krsort:对数组按照键名逆向排序,保留键名到数据的关联
natsort:对字母数字......&nbsp
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!
(C)2012-,站长邮箱:www_169it_(请将#改为@)页面导航:
→ 正文内容 四则运算表达式
用PHP实现的四则运算表达式计算实现代码
题目要求:有一个四则运算的字符串表达式,编写一个函数,计算四则运算的结果
代码如下: &?php /** * 计算四则运算表达式 */ error_reporting(E_ALL); $exp = '(1+2*(3+5)/4)*(3+(5-4)*2)'; $arr_exp = array(); for($i=0;$i&strlen($exp);$i++){ $arr_exp[] = $exp[$i]; } $result = calcexp( array_reverse($arr_exp) ); echo $exp . '=' . $ function calcexp( $exp ){ $arr_n = array(); $arr_op = array(); while( ($s = array_pop( $exp )) != '' ){ if( $s == '(' ){ $temp = array(); $quote = 1; $endquote = 0; while( ($t = array_pop($exp)) != '' ){ if( $t == '(' ){ $quote++; } if( $t == ')' ){ $endquote++; if( $quote == $endquote ){
} } array_push($temp, $t); } $temp = array_reverse($temp); array_push($arr_n, calcexp($temp) ); }else if( $s == '*' || $s == '/' ){ $n2 = array_pop($exp); if( $n2 == '(' ){ $temp = array(); $quote = 1; $endquote = 0; while( ($t = array_pop($exp)) != '' ){ if( $t == '(' ){ $quote++; } if( $t == ')' ){ $endquote++; if( $quote == $endquote )
} array_push($temp, $t); } $temp = array_reverse($temp); $n2 = calcexp($temp); } $op = $s; $n1 = array_pop($arr_n); $result = operation($n1, $op, $n2); array_push($arr_n, $result); }elseif( $s == '+' || $s == '-' ){ array_push($arr_op, $s); }else{ array_push($arr_n, $s); } } $n2 = array_pop($arr_n); while( ($op = array_pop($arr_op)) != '' ){ $n1 = array_pop($arr_n); $n2 = operation($n1, $op, $n2); } return $n2; } function operation( $n1, $op, $n2 ){ switch ($op) { case '+': return intval($n1) + intval($n2);
case '-': return intval($n1) - intval($n2);
case '*': return intval($n1) * intval($n2);
case '/': return intval($n1) / intval($n2);
这个实现方式中使用了两个堆栈,一个用来存储数字,一个用来存储运算符,遇到括号以后就递归进入括号内运算,实现方式有点笨拙,后面补充一下“逆波兰表达式”的算法实现。
上一篇:下一篇:
最 近 更 新
热 点 排 行利用php调用so库文件中的代码和编写so简单实例
某个功能被编译到so文件中,那么如何通过php来调用它?一个方法是写一个php扩展模块(php extension),在php中调用该模块内的函数,再通过该模块来调用so中的函数。下面做一个简单的例子,使用的操作系统是RHEL5。
首先做一个简单的so文件:
/**&* hello.c&* To compile, use following commands:&*&& gcc -O -c -fPIC -o hello.o hello.c &*&& gcc -shared -o libhello.so hello.o&*/
int hello_add(int a, int b){&&& return a +}然后将它编译成.so文件并放到系统中:
$ gcc -O -c -fPIC -o hello.o hello.c$ gcc -shared -o libhello.so hello.o$ su# echo /usr/local/lib & /etc/ld.so.conf.d/local.conf# cp libhello.so /usr/local/lib# /sbin/ldconfig写段小程序来验证其正确性:
/**&* hellotest.c&* To compile, use following commands:&*&& gcc -o hellotest -lhello hellotest.c&*/#i nclude &stdio.h&int main(){&&& int a = 3, b = 4;&&& printf("%d + %d = %d/n", a, b, hello_add(a,b));&&& return 0;}编译并执行:
$ gcc -o hellotest -lhello hellotest.c$ ./hellotest3 + 4 = 7OK,下面我们来制作PHP模块。首先确保你安装了 php-devel 包,没有的话请自行从安装光盘上找。然后下载php源代码。我使用的是php-5.2.3.tar.gz,解压缩。
$ tar xzvf php-5.2.3.tar.gz$ cd php-5.2.3/ext然后通过下面的命令建立一个名为 hello 的模块。
$ ./ext_skel --extname=hello执行该命令之后它会提示你应当用什么命令来编译模块,可惜那是将模块集成到php内部的编译方法。如果要编译成可动态加载的 php_hello.so,方法要更为简单。
$ cd hello首先编辑 config.m4 文件,去掉第16行和第18行的注释(注释符号为 dnl 。)
16:& PHP_ARG_ENABLE(hello, whether to enable hello support,17:& dnl Make sure that the comment is aligned:18:& [& --enable-hello&&&&&&&&&& Enable hello support])然后执行 phpize 程序,生成configure脚本:
$ phpize然后打开 php_hello.h,在 PHP_FUNCTION(confirm_hello_compiled); 之下加入函数声明:
PHP_FUNCTION(confirm_hello_compiled);&& /* For testing, remove later. */PHP_FUNCTION(hello_add);打开 hello.c,在 PHP_FE(confirm_hello_compiled, NULL) 下方加入以下内容。
zend_function_entry hello_functions[] = {&&& PHP_FE(confirm_hello_compiled,& NULL)&&&&&& /* For testing, remove later. */&&& PHP_FE(hello_add,&& NULL)&&&&&& /* For testing, remove later. */&&& {NULL, NULL, NULL}& /* Must be the last line in hello_functions[] */};然后在 hello.c 的最末尾书写hello_add函数的内容:
PHP_FUNCTION(hello_add){&&& long int a,&&&
&&& if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &a, &b) == FAILURE) {&&&&&&&&&& }
&&& result = hello_add(a, b);
&&& RETURN_LONG(result);}保存退出,编译并安装:
$ ./configure$ make LDFLAGS=-lhello$ su# cp modules/hello.so /usr/lib/php/modules然后在 /var/www/html 下建立一个 hello.php 文件,内容如下:
&?php&&& dl("hello.so");&&& echo hello_add(3, 4);?&然后在浏览器中打开hello.php文件,如果显示7,则说明函数调用成功了。
本文来自CSDN博客,转载请标明出处:
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:511209次
积分:7867
积分:7867
排名:第813名
原创:182篇
转载:556篇
评论:98条
(2)(2)(2)(2)(1)(1)(3)(2)(5)(5)(2)(4)(4)(1)(1)(1)(2)(2)(2)(2)(2)(4)(9)(5)(6)(6)(6)(7)(10)(20)(51)(25)(15)(27)(27)(36)(22)(24)(10)(18)(12)(16)(12)(16)(23)(10)(12)(8)(2)(5)(2)(4)(4)(1)(3)(1)(17)(5)(11)(9)(7)(3)(11)(7)(8)(3)(3)(3)(1)(2)(1)(1)(2)(6)(1)(7)(18)(36)(19)(3)(10)(22)(4)(10)(1)根据出生日期计算年龄_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
网站程序2964044.3浏览总量总评分
评价文档:
&购买后可评价
3页2下载券4页免费2页免费3页¥2.002页免费5页免费4页免费1页免费2页1下载券2页免费
您可以上传图片描述问题
联系电话:
请填写真实有效的信息,以便工作人员联系您,我们为您严格保密。
根据出生日期计算年龄
试读已结束,如果需要继续阅读或下载,敬请购买
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢:转载时请以超链接形式标明文章原始出处和作者信息及本声明
&& 最近新学PHP,所用参考书为《php,MySQL和Apache编程导学》,Julie C.Meloni著。在第十一章后有一个思考题,第一题要求实现一个可以通过下拉框选择运算符号(四则运算)进行两个数字变量运算的PHP脚本。于是自行编写了该段代码,并在浏览器里运行,证实可行。代码如下:&?php$result=0;&& //对result赋值,定义变量。if($_POST['fuhao']==&+&){&$result=$_POST['num1']+$_POST['num2'];} else if($_POST['fuhao']==&-&){&$result=$_POST['num1']-$_POST['num2'];} else if($_POST['fuhao']==&*&){&$result=$_POST['num1']*$_POST['num2'];} else if($_POST['fuhao']==&/&){&$result=$_POST['num1']/$_POST['num2'];}?&&html&&body&&h1&&?php echo $ ?&&/h1&&form action=&&?php echo $_SERVER['PHP_SELF']; ?&&method=&POST&&&p&num1:&input type=&text&name=&num1&&&/p&&p&&select name=&fuhao&&&option value=&+&&+&/option&&option value=&-&&-&/option&&option value=&*&&*&/option&&option value=&/&&/&/option&&/select&&p&num2:&input type=&text&name=&num2&&&/p&&p&&input type=&submit&value=&提交&/&&/p&&/form&&/body&&/html&
历史上的今天:
引用地址:

我要回帖

更多关于 java计算器源代码 的文章

 

随机推荐