php中根据生日判断星座、生肖程序代码

星座:我是根据这个时间表写的,该时间表未必准确。

'水瓶座'=>'(1/22-2/21)',   '双鱼座'=>'(2/22-3/21)',

'白羊座'=>'(3/22-4/21)',   '金牛座'=>'(4/22-5/21)',

'双子座'=>'(5/22-6/21)',   '巨蟹座'=>'(6/22-7/21)',

'狮子座'=>'(7/22-8/21)',   '处女座'=>'(8/22-9/21)',

'天秤座'=>'(9/22-10/21)',  '天蝎座'=>'(10/22-11/21)',

'射手座'=>'(11/22-12/21)',  '摩羯座'=>'(12/22-1/21)'

根据日期判断星座函数

 代码如下 复制代码

function yige_constellation($month, $day) {
 // 检查参数有效性
 if ($month < 1 || $month > 12 || $day < 1 || $day > 31) return false;
 
 // 星座名称以及开始日期
 $constellations = array(
  array( "20" => "宝瓶座"),
  array( "19" => "双鱼座"),
  array( "21" => "白羊座"),
  array( "20" => "金牛座"),
  array( "21" => "双子座"),
  array( "22" => "巨蟹座"),
  array( "23" => "狮子座"),
  array( "23" => "处女座"),
  array( "23" => "天秤座"),
  array( "24" => "天蝎座"),
  array( "22" => "射手座"),
  array( "22" => "摩羯座")
 );
 
 list($constellation_start, $constellation_name) = each($constellations[(int)$month-1]);
 
 if ($day < $constellation_start) list($constellation_start, $constellation_name) = each($constellations[($month -2 < 0) ? $month = 11: $month -= 2]);
 
 return $constellation_name;
}

下面这个更全面可直接根据生日检查年龄,生肖,星座

 代码如下 复制代码

<?php

/**

* 根据生日中的月份和日期来计算所属星座

*

* @param int $birth_month

* @param int $birth_date

* @return string

*/

function get_constellation($birth_month,$birth_date)

{

//判断的时候,为避免出现1和true的疑惑,或是判断语句始终为真的问题,这里统一处理成字符串形式

$birth_month = strval($birth_month);

 

$constellation_name = array(

      '水瓶座','双鱼座','白羊座','金牛座','双子座','巨蟹座',

      '狮子座','处女座','天秤座','天蝎座)','射手座','摩羯座'

      );

 

if ($birth_date <= 22)

{

  if ('1' !== $birth_month)

  {

   $constellation = $constellation_name[$birth_month-2];

  }

  else

  {

   $constellation = $constellation_name[11];

  }

}

else

{

  $constellation = $constellation_name[$birth_month-1];

}

 

return $constellation;

}

/**

* 根据生日中的年份来计算所属生肖

*

* @param int $birth_year

* @return string

*/

function get_animal($birth_year)

{

//1900年是子鼠年

$animal = array(

    '子鼠','丑牛','寅虎','卯兔','辰龙','巳蛇',

    '午马','未羊','申猴','酉鸡','戌狗','亥猪'

    );

 

$my_animal = ($birth_year-1900)%12;

return $animal[$my_animal];

}

/**

* 根据生日来计算年龄

*

* 用Unix时间戳计算是最准确的,但不太好处理1970年之前出生的情况

* 而且还要考虑闰年的问题,所以就暂时放弃这种方式的开发,保留思想

*

* @param int $birth_year

* @param int $birth_month

* @param int $birth_date

* @return int

*/

function get_age($birth_year,$birth_month,$birth_date)

{

$now_age = 1; //实际年龄,以出生时为1岁计

$full_age = 0; //周岁,该变量放着,根据具体情况可以随时修改

 

$now_year   = date('Y',time());

$now_date_num  = date('z',time()); //该年份中的第几天

$birth_date_num = date('z',mktime(0,0,0,$birth_month,$birth_date,$birth_year));

 

$difference = $now_date_num - $birth_date_num;

if ($difference > 0)

{

  $full_age = $now_year - $birth_year;

}

else

{

  $full_age = $now_year - $birth_year - 1;

}

 

$now_age = $full_age + 1;

 

return $now_age;

}

?>

时间: 2024-09-30 19:33:36

php中根据生日判断星座、生肖程序代码的相关文章

php判断ip黑名单程序代码实例

 这篇文章主要介绍了php判断ip黑名单程序代码实例,需要的朋友可以参考下 学校的新闻系统要求有些新闻只开放校内ip浏览,于是重写了一个代码来实现此功能,实现后的结果是,只要把允许访问的ip列入ip.txt这个文件中即可,同时支持c类ip,例如:   ip.txt 192.168 211.67.188 211.67.191.25 代码如下:    代码如下: /* * ip地址黑名单.白名单 * 判断访客地址的ip是否在ip.txt中,支持c类ip * By xhat */   $ip = $_

js根据日期判断星座的示例代码

 本篇文章主要是对js根据日期判断星座的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: function xingzuo() {  var start = 1901, date=document.getElementById("txtDay").value, month=document.getElementById("txtMonth").value;; with (document.getElementById("txt

php中实现图片文件上传程序代码

我们先来看一下项目结构图与数据库结构图吧 项目结构: 运行效果:   up.html 简单的上传表单文件  代码如下 复制代码 <form action="up.php" enctype="multipart/form-data" method="post"      name="uploadfile">上传文件:<input type="file" name="upfile&q

php 判断变量类型程序代码详解

string gettype ( mixed $var ) 返回 PHP 变量的类型 var. 例  代码如下 复制代码 <?php function get_type($var) {     if(is_object($var))         return get_class($var);     if(is_null($var))         return 'null';     if(is_string($var))         return 'string';     if(

c语言判断是否素数程序代码_C 语言

复制代码 代码如下: #include <stdio.h> bool isPrimeNum(int x){    if (x == 1)        return false;    else if (x <= 0)        return false;    else if (x == 2)        return true;    else    {        for (int i = 2; i < x; i++)        {            if (

探讨:程序在内存中的分配(常量,局部变量,全局变量,程序代码)问题_C 语言

一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域.- 程序结束释放4.另外还有一个专门放常量的地方.- 程序结束释放 在函数体中定义的变量通常是在栈上,用malloc, calloc, realloc等分配内存的函数分配得到的就是在堆上.在所有函数体外定义的是

php数组交集判断与优化程序代码

需要判断两个数组是否有交集,第一个感觉PHP中应该有这个函数,果然: array array_intersect(array array1,array array2[,arrayN-]) 返回N个数组中的交集元素,如果是关联数组可以用array_intersect_assoc() PHP案例如下: 数组的交集 array_intersect() array_intersect()函数返回一个保留了键的数组,这个数组只由第一个数组中出现的且在其他每个输入数组中都出现的值组成.其形式如下:  代码如

php判断ip黑名单程序代码实例_php实例

学校的新闻系统要求有些新闻只开放校内ip浏览,于是重写了一个代码来实现此功能,实现后的结果是,只要把允许访问的ip列入ip.txt这个文件中即可,同时支持c类ip,例如: ip.txt192.168211.67.188211.67.191.25代码如下: 复制代码 代码如下: /** ip地址黑名单.白名单* 判断访客地址的ip是否在ip.txt中,支持c类ip* By xhat*/ $ip = $_SERVER['REMOTE_ADDR'];$ipArray = preg_replace("#

php判断ip黑名单程序代码

学校的新闻系统要求有些新闻只开放校内ip浏览,于是重写了一个代码来实现此功能,实现后的结果是,只要把允许访问的ip列入ip.txt这个文件中即可,同时支持c类ip,例如: ip.txt 192.168 211.67.188 211.67.191.25 代码如下:  代码如下 复制代码 /* * ip地址黑名单.白名单 * 判断访客地址的ip是否在ip.txt中,支持c类ip * By xhat */ $ip = $_SERVER['REMOTE_ADDR']; $ipArray = preg_r